小記:Quartz StartNow() 無效

今天遇到一個問題,調度器在啓動時沒法馬上開始執行任務,代碼以下:ui

var trigger = TriggerBuilder.Create()
    .StartNow()  //此處無效
    .WithCronSchedule("0 0/30 10-20 * * ?")
    .Build();

F12 能夠看到 StartNow() 註釋以下:this

//
// 摘要:
//     Set the time the Trigger should start at to the current moment - the trigger
//     may or may not fire at this time - depending upon the schedule configured
//     for the Trigger.
//
// 返回結果:
//     the updated TriggerBuilder
public TriggerBuilder StartNow();

在 stockoverflow 上查找結果以下spa

地址:http://stackoverflow.com/questions/19219560/quartz-trigger-builder-startnow-not-firing-the-trigger-during-the-startcode

由上述得知,當使用 Cron 表達式時,StartNow 方法不會起任何效果,Cron 有其本身的執行時間。目前看來 StartNow 應該只適用於 SimpleTrigger 觸發器。blog

解決方法:get

 

1.如上圖,增長一個僅有 StartNow 的觸發器來馬上觸發 Jobit

2.可在 scheduler.Start() 啓動前手動調用執行 Job 一次io

相關文章
相關標籤/搜索