| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- using System.Configuration;
- using System.Threading;
- using System.Threading.Tasks;
- using Abp.Dependency;
- using Abp.Domain.Services;
- using Abp.Domain.Uow;
- using Abp.Quartz;
- using Abp.Threading;
- using Quartz;
- namespace ContractService.Quartz
- {
- public class TimeJobManger:DomainService
- {
- public TimeJobManger(IQuartzScheduleJobManager jobManager, IIocManager iocManager)
- {
- JobManager = jobManager;
- IocManager = iocManager;
- }
- public IQuartzScheduleJobManager JobManager { get; }
- private IIocManager IocManager { get; }
- public void StartKpNotify()
- {
- Logger.Info("TimeJob-【StartKpNotify】");
- var cron = ConfigurationManager.AppSettings["QuartJob.KpNotify.Cron"] ?? "0 5 0,12 * * ? *";
- JobManager.ScheduleAsync<TimeKeyPointJob>(job=>job.WithIdentity("TimeKeyPointJob", "Notify").WithDescription("关键点通知任务"), trigger=> trigger.StartNow().WithCronSchedule(cron));
- Task.Run(async () =>
- {
- using (IocManager.ResolveAsDisposable<IUnitOfWorkManager>().Object.Begin())
- {
- await IocManager.Resolve<TimeKeyPointJob>().KpNotify();
- }
- }
- );
- }
- }
- }
|