我有使用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);
由于
答案 0 :(得分:0)
我目前在我的MVC应用程序中使用Quartz.Net,我所做的是在我的JobScheducler.cs中我有一个名为“Start”的方法,我已经放置了所有代码,因为我想要运行的计划申请开始。
在Global.asax中,我已经实例化了JobScheduler,然后我又调用了start方法。启动我设置为运行的所有计划。