コード例 #1
0
        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);
                    }
                }
            }
        }
コード例 #2
0
 private void Cron_OnThreadAbort(CronObject cronObject)
 {
     _serviceLogger.CreateLogRecord($"Thread aboreted. Task type {cronObject.Object}", System.Diagnostics.EventLogEntryType.Warning);
 }