private void timer_Tick(object sender, Controller.HighPrecisionTimer.TickEventArgs e)
{
lock (lockTicks)
{
foreach (var job in jobs)
job.Tick();
}
if (Monitor.TryEnter(lockJobs))
{
try
{
foreach (var job in jobs)
job.Execute();
}
catch (Exception ex)
{
log.Error(ex, "Exception in MasterSweeper job");
}
finally
{
Monitor.Exit(lockJobs);
}
}
else
log.Warn("Missed execute task in MasterSweeper job");
}