I have a service that runs a task every 30 minutes based on System.Threading.Timer. The timer is set at intervals, as usual, and disables operation asynchronously.
Last night, on the server on which he lives, the decision was made to reset himself something completely different from the actual time and date. Subsequently, my tasks did not start every 30 minutes - they completely stopped.
However, after resetting the time this morning, the next 30-minute task started (30 minutes later), and then ALL other tasks performed simultaneously, as if they had been in the queue all night.
Can anyone shed some light on this?
EDIT: as an update - using a different timer (System.Timers.Timer), and it happened the same way. Time changes to something completely different, the service then stops performing its tasks until the time is lower than reset in the morning, and then after 30 minutes ALL tasks will be performed that must be performed every 30 minutes from the moment of change!
source share