123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
-
- using EVCB_OCPP.TaskScheduler.Jobs;
- using EVCB_OCPP.TaskScheduler.Services;
- using Quartz;
- using Quartz.Impl;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace EVCB_OCPP.TaskScheduler
- {
- class Program
- {
- static private NLog.ILogger logger = NLog.LogManager.GetCurrentClassLogger();
- private static void Main(string[] args)
- {
- try
- {
- logger.Info("running....");
- DatabaseService service = new DatabaseService();
- service.GetCallParterAPICustomers();
- DoHardWork().GetAwaiter().GetResult();
-
- }
- catch (Exception ex)
- {
- logger.Error(ex);
- }
- Console.Read();
- }
- private static async Task DoHardWork()
- {
- try
- {
- // Grab the Scheduler instance from the Factory
-
-
- IScheduler scheduler = await StdSchedulerFactory.GetDefaultScheduler();
-
- // and start it off
- await scheduler.Start();
- // define the job and tie it to our HelloJob class
- IJobDetail _CheckEVSEOnlineJob = JobBuilder.Create<CheckEVSEOnlineJob>()
- .WithIdentity("job1", "group1")
- .Build();
- IJobDetail _StartTransacionReportJob = JobBuilder.Create<StartTransacionReportJob>()
- .WithIdentity("job2", "group1")
- .Build();
- IJobDetail _StopTransacionReportJob = JobBuilder.Create<StopTransacionReportJob>()
- .WithIdentity("job3", "group1")
- .Build();
- IJobDetail _CheckExecutionCmdJob = JobBuilder.Create<CheckExecutionCmdJob>()
- .WithIdentity("job4", "group1")
- .Build();
- IJobDetail _ExecutionCmdReportJob = JobBuilder.Create<ExecutionCmdReportJob>()
- .WithIdentity("job5", "group1")
- .Build();
- IJobDetail _TriggerBillJob = JobBuilder.Create<TriggerBillJob>()
- .WithIdentity("job6", "group1")
- .Build();
- // Trigger the job to run now, and then repeat every 10 seconds
- ITrigger _CheckEVSEOnlineTrigger = TriggerBuilder.Create()
- .WithIdentity("trigger1", "group1")
- .StartNow()
- .WithSimpleSchedule(x => x
- .WithIntervalInSeconds(10)
- .RepeatForever())
- .Build();
- ITrigger _StartTransacionReportTrigger = TriggerBuilder.Create()
- .WithIdentity("trigger2", "group1")
- .StartNow()
- .WithSimpleSchedule(x => x
- .WithIntervalInSeconds(10)
- .RepeatForever())
- .Build();
- ITrigger _StopTransacionReportTrigger = TriggerBuilder.Create()
- .WithIdentity("trigger3", "group1")
- .StartNow()
- .WithSimpleSchedule(x => x
- .WithIntervalInSeconds(10)
- .RepeatForever())
- .Build();
- ITrigger _CheckExecutionCmdTrigger = TriggerBuilder.Create()
- .WithIdentity("trigger4", "group1")
- .StartNow()
- .WithSimpleSchedule(x => x
- .WithIntervalInSeconds(10)
- .RepeatForever())
- .Build();
- ITrigger _ExecutionCmdReportTrigger = TriggerBuilder.Create()
- .WithIdentity("trigger5", "group1")
- .StartNow()
- .WithSimpleSchedule(x => x
- .WithIntervalInSeconds(10)
- .RepeatForever())
- .Build();
- ITrigger _TriggerBillTrigger = TriggerBuilder.Create()
- .WithIdentity("trigger6", "group1")
- .StartNow()
- .WithSimpleSchedule(x => x
- .WithIntervalInMinutes(10)
- .RepeatForever())
- .Build();
- // Tell quartz to schedule the job using our trigger
- await scheduler.ScheduleJob(_CheckEVSEOnlineJob, _CheckEVSEOnlineTrigger);
- // await scheduler.ScheduleJob(_StartTransacionReportJob, _StartTransacionReportTrigger);
- // await scheduler.ScheduleJob(_StopTransacionReportJob, _StopTransacionReportTrigger);
- await scheduler.ScheduleJob(_CheckExecutionCmdJob, _CheckExecutionCmdTrigger);
- await scheduler.ScheduleJob(_ExecutionCmdReportJob, _ExecutionCmdReportTrigger);
- await scheduler.ScheduleJob(_TriggerBillJob, _TriggerBillTrigger);
- }
- catch (SchedulerException se)
- {
- Console.WriteLine(se);
- }
- }
- }
- }
|