应用程序重启后的Quartz .Net恢复

时间:2017-11-22 08:49:14

标签: quartz-scheduler quartz.net quartz

我有使用MS SQL的石英,它将所有工作细节存储在sql中,但我不知道如何设置它以在应用程序重启后恢复所有作业。

任何人都可以告诉我如何在应用程序重启后如何设置quartz来恢复作业。

这就是我在api电话上安排工作的方法

File.AppendAllText(@"C:\Temp\test.txt",$"Starting sechd at {DateTime.Now.ToString("ddMMyyyyHHmmss")}");
            ISchedulerFactory sf = new StdSchedulerFactory();
            IScheduler sc = sf.GetScheduler();
            sc.Start();
            IJobDetail emailJob = JobBuilder.Create<EmailJob>()
         .WithIdentity("reportemail", "reportgroup")
         .Build();
            string dom = js.DayOfMonth.ToString();
            if (js.DayOfWeek > 0)
                dom = "?";
            string dow = (js.DayOfWeek < 1) ? "*" : js.DayOfWeek.ToString();
            string y = (js.Year > 0) ? js.Year.ToString() : "*";
            string m = (js.Month > 0) ? js.Month.ToString() : "*";
            string crn = $"{js.Second.ToString()} {js.Minute.ToString()} {js.Hour.ToString()} {dom} {m} {dow} {y}"; 
            ITrigger trigger = TriggerBuilder.Create()
                 .ForJob(emailJob)
                 .WithIdentity("reporttrigger","reportgroup")
                 .WithCronSchedule("0 0/3 * ? * *")
                 .StartNow()
                 .Build();

            sc.ScheduleJob(emailJob, trigger);

由于

1 个答案:

答案 0 :(得分:0)

我目前在我的MVC应用程序中使用Quartz.Net,我所做的是在我的JobScheducler.cs中我有一个名为“Start”的方法,我已经放置了所有代码,因为我想要运行的计划申请开始。

在Global.asax中,我已经实例化了JobScheduler,然后我又调用了start方法。启动我设置为运行的所有计划。