123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- using Quartz;
- using Quartz.Impl;
- using System;
- using System.Collections.Generic;
- using System.Collections.Specialized;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using Utils;
- namespace PMS.NetCore.Service
- {
- public class QuartzTask
- {
- /// <summary>
- /// 运行定时任务
- /// </summary>
- /// <returns></returns>
- public async Task RunAsync()
- {
- NlogHelper.quartzLogger.Info("开始 RunAsync");
-
- StdSchedulerFactory factory = new StdSchedulerFactory();
- //通过工场类获得调度器
- var _scheduler = await factory.GetScheduler();
-
- //开启调度器
- await _scheduler.Start();
- #region 昆山项目使用定时任务
- if (AppSettingsHelper.Configuration["company"]?.ToString() == "kunshan")
- {
- #region 执行发短信作业 注释掉,暂不执行
- ////创建触发器(也叫时间策略)
- //var trigger = TriggerBuilder.Create()
- // .StartNow()
- // //.WithSimpleSchedule(x => x.WithIntervalInMinutes(2).RepeatForever())//每10秒执行一次
- // //.WithSimpleSchedule(x => x.WithIntervalInMinutes(5).RepeatForever()) //每5分钟执行一次
- // .WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(8, 0)) //每天8:00执行
- // .Build();
- ////创建作业实例
- ////Jobs即我们需要执行的作业
- //var jobDetailkunshan = JobBuilder.Create<KunshanPayCostSmsJob>()
- // .WithIdentity("Myjobkunshan", "group")//我们给这个作业取了个“Myjob”的名字,并取了个组名为“group”
- // .Build();
- ////将触发器和作业任务绑定到调度器中
- //await _scheduler.ScheduleJob(jobDetailkunshan, trigger);
- #endregion
- }
- #endregion
- #region 中浩德系统使用定时任务
- if (AppSettingsHelper.Configuration["company"]?.ToString() == "zhonghaode")
- {
- #region 执行进度报告发邮件作业
- ////创建触发器(也叫时间策略)
- var trigger = TriggerBuilder.Create()
- .StartNow()
- //.WithSimpleSchedule(x => x.WithIntervalInMinutes(5).RepeatForever())//每10秒执行一次
- //.WithSimpleSchedule(x => x.WithIntervalInMinutes(5).RepeatForever()) //每5分钟执行一次
- .WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(8, 0)) //每天8:00执行
- .Build();
- //创建作业实例
- //Jobs即我们需要执行的作业
- var jobDetail = JobBuilder.Create<SendEmailJob>()
- .WithIdentity("Myjob", "group")//我们给这个作业取了个“Myjob”的名字,并取了个组名为“group”
- .Build();
- //将触发器和作业任务绑定到调度器中
- await _scheduler.ScheduleJob(jobDetail, trigger);
- #endregion
- #region 执行给王帅发邮件作业
- //创建触发器(也叫时间策略)
- var triggerWang = TriggerBuilder.Create()
- .StartNow()
- //.WithSimpleSchedule(x => x.WithIntervalInMinutes(5).RepeatForever())//每10秒执行一次
- .WithSimpleSchedule(x => x.WithIntervalInMinutes(5).RepeatForever()) //每5分钟执行一次
- //.WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(8, 0)) //每天8:00执行
- .Build();
- //创建作业实例
- //Jobs即我们需要执行的作业
- var jobDetailWang = JobBuilder.Create<SendEmailToChairmanJob>()
- .WithIdentity("MyjobWang", "group")//我们给这个作业取了个“Myjob”的名字,并取了个组名为“group”
- .Build();
- //将触发器和作业任务绑定到调度器中
- await _scheduler.ScheduleJob(jobDetailWang, triggerWang);
- #endregion
- }
- #endregion
- #region 物业缴费订单定时处理任务
- ////创建触发器(也叫时间策略)
- var triggerBywy = TriggerBuilder.Create()
- .StartNow()
- .WithSimpleSchedule(x => x.WithIntervalInSeconds(3).RepeatForever())//每3秒执行一次
-
- .Build();
- //创建作业实例
- //Jobs即我们需要执行的作业
- var jobDetailBywy = JobBuilder.Create<WyOrderJob>()
- .WithIdentity("Myjobwy", "group")//我们给这个作业取了个“Myjobwy”的名字,并取了个组名为“group”
- .Build();
- //将触发器和作业任务绑定到调度器中
- await _scheduler.ScheduleJob(jobDetailBywy, triggerBywy);
- #endregion
- }
- }
- }
|