public void SetupEngineScheduler() { var dispatcher = new Dispatcher() { MessageQueueClient = Container.Resolve <IRabbitMQClient>("DefaultRabbitMQ"), }; var engineScheduler = new EngineScheduler() { Scheduler = StdSchedulerFactory.GetDefaultScheduler(), IntegrationJobTypes = IntegrationJobTypes, Dispatcher = dispatcher, }; Container.RegisterInstance <IEngineScheduler>(engineScheduler); var elasticsearchRepository = Container.Resolve <IElasticsearchRepository>(); var engineSchedulerListener = new EngineSchedulerListener() { ElasticsearchRepository = elasticsearchRepository, }; engineScheduler.AddSchedulerListener(engineSchedulerListener); engineScheduler.Start(); var simpleTriggers = elasticsearchRepository.SelectAll <SimpleTrigger>(); var allCronTriggers = elasticsearchRepository.SelectAll <CronTrigger>(); var cronTriggers = allCronTriggers.Where(x => !string.IsNullOrWhiteSpace(x.CronExpressionString)); foreach (var trigger in simpleTriggers) { engineScheduler.ScheduleJobWithTrigger(trigger); } foreach (var trigger in cronTriggers) { engineScheduler.ScheduleJobWithTrigger(trigger); } foreach (var cronTrigger in allCronTriggers.Where(x => string.IsNullOrWhiteSpace(x.CronExpressionString))) { Log.Warn(x => x("Cron expression for trigger ({0}) is null, empty, or whitespace.", cronTrigger.Id)); } }
public void SetupEngineScheduler() { var dispatcher = new Dispatcher() { MessageQueueClient = Container.Resolve<IRabbitMQClient>("DefaultRabbitMQ"), }; var engineScheduler = new EngineScheduler() { Scheduler = StdSchedulerFactory.GetDefaultScheduler(), IntegrationJobTypes = IntegrationJobTypes, Dispatcher = dispatcher, }; Container.RegisterInstance<IEngineScheduler>(engineScheduler); var elasticsearchRepository = Container.Resolve<IElasticsearchRepository>(); var engineSchedulerListener = new EngineSchedulerListener() { ElasticsearchRepository = elasticsearchRepository, }; engineScheduler.AddSchedulerListener(engineSchedulerListener); engineScheduler.Start(); var simpleTriggers = elasticsearchRepository.SelectAll<SimpleTrigger>(); var allCronTriggers = elasticsearchRepository.SelectAll<CronTrigger>(); var cronTriggers = allCronTriggers.Where(x => !string.IsNullOrWhiteSpace(x.CronExpressionString)); foreach (var trigger in simpleTriggers) engineScheduler.ScheduleJobWithTrigger(trigger); foreach (var trigger in cronTriggers) engineScheduler.ScheduleJobWithTrigger(trigger); foreach(var cronTrigger in allCronTriggers.Where(x => string.IsNullOrWhiteSpace(x.CronExpressionString))) Log.Warn(x => x("Cron expression for trigger ({0}) is null, empty, or whitespace.", cronTrigger.Id)); }