private void InitializeScheduler() { _cronObjectList = new List <CronObject>(); _serviceSettings = new ServiceSettings(""); _serviceLogger = new Logging.TaskLogging(); if (!_serviceSettings.EnableScheduler) { _serviceLogger.CreateLogRecord("Shceduller start forbidden by ServiceSettings.enableScheduler"); return; } foreach (var type in Tasks.TasksEnumerator.GetTaskEnumertor()) { var task = Activator.CreateInstance(type) as TaskBase; foreach (var group in new SettingsGroupsCollection(task.TaskSettings)) { if (!(bool)_serviceSettings.GetPropertyValue(ServiceSettings.GetSettingNameEnable(task, group))) { continue; } try { _cronObjectList.Add(CreateCronObject(type, group, (string)_serviceSettings.GetPropertyValue(ServiceSettings.GetSettingNameShedule(task, group)))); } catch (Exception e) { _serviceLogger.CreateLogRecord(e); } } } }
private void Cron_OnThreadAbort(CronObject cronObject) { _serviceLogger.CreateLogRecord($"Thread aboreted. Task type {cronObject.Object}", System.Diagnostics.EventLogEntryType.Warning); }