Response from SAG support for your information
[i]Hi Oliver,
I have been looking into this this further. (and also found some comments from the developer who maintains the Scheduler).
Your understanding of watt.server.scheduler.maxWait is correct. The scheduler thread checks periodically according to this parameter for any tasks that need to be started. All the tasks that need it are then started. The scheduler then calculates the interval until the next task will need to be started and sleeps for either that duration or maxWait, whichever is smaller.
If you want to do any logging, you can use IS Admin > Settings > Logging > Server logger > 137 User Task Scheduler = trace. Setting this will show what is happening (It you haven’t already tried this - it produces a lot of output, so you might only want to do it in test)
In a clustered environment, there is no synchronization. Each Integration Server has a scheduler thread, and whichever server gets to it first will run a task. There is no intention to make a task stick to one node, nor does it make any attempt to evenly distribute the load. Thus when there is a difference in clock between machines (even a small difference like yours) the first one to get the task wins.
I did notice on your database extract that a number of the tasks has the same next run value so they will get started at the same time by the same Integration Server.
I think it would be worth investigating if a time server can be used to keep the clock fully in sync. Even if it does not make them sync exactly to the ns, differences in workload/jvm/machine etc would make the distribution more random.
Trust this helps to explain. Let me know if you have further questions or if I can close the incident. [/i]
#webMethods#Integration-Server-and-ESB#webMethods-General