程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 小記:Quartz StartNow() 無效,quartzstartnow

小記:Quartz StartNow() 無效,quartzstartnow

編輯:C#入門知識

小記:Quartz StartNow() 無效,quartzstartnow


今天遇到一個問題,調度器在啟動時無法立刻開始執行任務,代碼如下:

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

F12 可以看到 StartNow() 注釋如下:

//
// 摘要:
//     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 上查找結果如下

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

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

解決方法:

 

1.如上圖,增加一個僅有 StartNow 的觸發器來立刻觸發 Job

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

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved