In one of my rules a loop through all items (for each) and change states.
This is contained in a timer which I reschedule after x seconds.
What I’ve found is that dependant on current system load, if changing all the states takes longer than x then it enters as race condition.
So if x is set at 3 seconds, it takes 4 seconds to complete and I let it run for 1 minute then when I cancel the timer it’s still processing state changes for 20 seconds (undesirable).
So it seems the built in timer doesn’t use scheduleAtFixedDelay and let all child methods (from each binding) complete before rescheduling.
On mobile at moment so now access to the code blocks to post up but wondered if someone has anyway to negate this