2016-01-01 27 views

回答

1
  1. 你最好使用打算用於這種類型的日程表的DailyTimeIntervalTrigger。有關您的用例的DailyTimeIntervalTrigger屬性示例,請參閱附件屏幕截圖。

Example of DailyTimeIntervalTrigger to execute job every 60 minutes between 7:30am and 8pm.

  1. 在Quartz中,不可能創建以隨機間隔執行作業的靜態觸發器。但是,您可以使用其執行方法動態地重新安排作業。基本上你需要創建,在上午8點,在你工作的實現類,你將創建一個新的觸發器(可能是SimpleTrigger)執行你的工作,在執行你的工作CronTrigger:

current_execution_start_time + random_value_between(40 ,80)分鐘

您需要檢查計算出的下一個開始時間是否不超過8pm。如果是這樣,您將跳過創建觸發器。

或者,您可以製作一些Quartz作業鏈接框架,允許您將作業鏈接到自己,同時允許您動態計算目標作業的開始時間。例如,我們的產品QuartzDesk可以輕鬆應對。