Implementation details:
Collections are still made in a single thread. The thread is scheduled to run at an interval that is equal to the greatest common divisor of the actual collect intervals. On each run, each query/invocation is checked to see if it is time to run that specific query/invocation. The time at which it was last run is remembered to decide when to run next.
Support for setting
collectIntervalInSeconds
as an attribute on queries and invocations. Overrides the default setting. For example:Implementation details: Collections are still made in a single thread. The thread is scheduled to run at an interval that is equal to the greatest common divisor of the actual collect intervals. On each run, each query/invocation is checked to see if it is time to run that specific query/invocation. The time at which it was last run is remembered to decide when to run next.
See issue #56