private void CreateTimers() { StaticFileLogger.Current.LogEvent(GetType().Name, "CreateTimers", "Setting up", EventLogEntryType.Information); CreateHeartbeatWorkerAndTimer(); CreateScreenshotworker(); try { foreach (object timer2 in _config.Timers) { TimerInstantiation timerInstantiation = (TimerInstantiation)timer2; Type type = Type.GetType(timerInstantiation.WorkerToInstantiate); DataPackageEnvelopeWorkerBase newWorker = (DataPackageEnvelopeWorkerBase)Activator.CreateInstance(type, Receiver); newWorker.PackageDispatchNeeded += delegate { newWorker.DoWork(); }; Timer timer = new Timer(timerInstantiation.SecondsBetweenWork * 1000); timer.Elapsed += delegate { newWorker.DoWork(); }; TimerAndWorker item = new TimerAndWorker(newWorker, timer); _timersAndWorkers.Add(item); } } catch (Exception ex) { throw new Exception($"Error creating timers from config file. The error was: '{ex.ToString()}'", ex); } }
private void CreateHeartbeatWorkerAndTimer() { HeartbeatWorker heartbeatWorker = new HeartbeatWorker(Receiver); Timer timer = new Timer(10000.0); timer.Elapsed += delegate { heartbeatWorker.DoWork(); }; _heartbeatTimerAndWorker = new TimerAndWorker(heartbeatWorker, timer); }