Discovery Tasks appear to place a heavy load on primary servers. We need a way to randomise the dispatch of Discovery Tasks so that we do not end up with thousands all running concurrently.

Example use case: Customer has thousands of devices on thousands of subnets.

If any of the existing Schedule Types are used, they will all hit the primary within the same time window; e.g. All on the same day of the week or month at a given time.

A proposed solution (which could be reused for other Scheduled Tasks where appropriate) would be a "random dispatch in a given period"; e.g.

Run Discovery Task at a random time during the next 30 days. (The 30 days being admin configurable) This would ensure that a job always ran once per month but we don't care when. We could increase granularity by adding what time of day we want the job dispatched; e.g. Any time, 8pm-8am only, etc.

Yet another configurable would be whether the 30 clock starts again once the Task has run or isn't reset until the original 30 days has passed. Both options have their advantages and disadvantages.

Desired behaviour is that Discovery Tasks run randomly, spreading the load over a given time window

NRFE / MG / 10951857501 / 930083