I'm writing a windows service that needs to execute a task (that connects to a central server) every 30 days +- 5 days (it needs to be random). The service will be running on 2000+ client machines, so the randomness is meant to level them out so the server does not get overloaded.
What would be the best way to do this? Currently, I pick a random time between 25 - 35 days since the task last ran and use that.
Does anyone have a better way? Is there a better way?