私はMS SQLで動作するクォーツを持っていますが、SQLですべてのジョブの詳細を保存しますが、アプリケーションの再起動後にすべてのジョブを再開するように設定する方法はわかりません。アプリケーションの再起動後にクォーツ.Netを再開する
アプリケーションの再起動後にクォーツをセットアップしてジョブを再開する方法を教えていただけますか?
これは私が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);
上のジョブをスケジュールするために何をすべきかのおかげ
「誤解の手順」https://dzone.com/articles/quartz-scheduler-misfireを読んでください。何らかの理由で呼び出しが見逃された場合、再試行されるように設定することができます。 – Srinivas