我幾乎在c#中完成了簡單的應用程序,它使用石英來定期運行一些SQL查詢。石英中的延遲crone觸發器(不同的第一個開始日期)
我有一個問題,是否有可能創建cron觸發器,在特定日期開始工作,並在此日期之後定期執行一些工作。
這裏是我的代碼:
IJobDetails myJob = new JobDetails(); //This Constructor needs to be parameterless i nic na to nie poradzimy
JobDetailImpl jobDetail = new JobDetailImpl(name, gruoupName, myJob.GetType());
//dodawanie parametru
jobDetail.JobDataMap.Add("addParam", item);
//////
CronTriggerImpl trigger = new CronTriggerImpl();
trigger.Name = triggerName;
trigger.Group = grupa;
trigger.CronExpressionString = "0 10 14-15 8 8 ?";
try
{
_scheduler.ScheduleJob(jobDetail, trigger);
}
catch
{
MessageBox.Show("INVALID TRIGGER. JOB CANCELED");
}
DateTimeOffset? nextFireTime = trigger.GetNextFireTimeUtc().Value.AddHours(2);
Console.WriteLine("Job o jobs_id=" + item.jobs_id + " start:" + nextFireTime.Value);
例如: 今天是2013年1月8日,今天我想創建科龍觸發它開始於2013年8月8日,每天觸發SQL查詢從下午2點到每10分鐘下午3:00。
目前我知道如何製作啓動8.08.2013的crone觸發器,並且運行一次,並且知道如何創建每10分鐘從下午2點到下午3點每天運行的第二個觸發器觸發器,但是我仍然不能瞭解如何確定這2個crone觸發器並創建一個:從8.08.2013開始,每天在8.08.2013之後運行,並且每10分鐘從下午2:00到下午3:00每天觸發SQL查詢。
我試着使用:
trigger.FinalFireTimeUtc(someDate);
trigger.SetNextFireTimeUtc(someDate)
,但沒有任何積極的結果。作爲其cronExpressionString說,作業激發。
非常感謝提前尋求幫助。
不幸的是,StartDateUtc沒有設置setter - 至少爲2.2.4(可能更早) – Joseph