2017-03-09 117 views
0

我想在java中使用石英來構建一個cron表達式。我得到了兩個參數:小時和分鐘,我必須每小時和每分鐘安排一次工作。直到現在,我已經試過這個: 示例1: - 安排作業每運行1小時10分鐘。 - 本例使用cron表達爲「0 */10 */1 * *?」。 - 但這份工作每10分鐘運行一次,而不是1小時10分鐘。Quartz Scheduler Cron表達式按特定的時間和分鐘的頻率

任何人都可以幫助我理解爲什麼這個表達式不起作用嗎? 在此先感謝。

回答

0

您的cron表達式將每10分鐘運行一次,因爲這是第一個*/10的含義。第二個*/1是多餘的,因爲它會運行,因爲第一個*/10

我不清楚你在做什麼 - 重複的時間表可能會很難表達清楚,所以我傾向於寫下幾個例子並從那裏開始工作。

你們是不是要得到這樣一個模式:

  1. 01:10
  2. 02:10
  3. 03:10

如果是這樣,我覺得0 10 * * * ?應該做的工作。我用來理解表達的文檔是http://www.quartz-scheduler.org/documentation/quartz-2.x/tutorials/tutorial-lesson-06.html,我也發現http://www.cronmaker.com/對理智檢查表達式非常有幫助 - 它會爲您解決接下來的幾個觸發時間。

爲了實現固定費率每1:10發射,即

  1. 1:10
  2. 2:20
  3. 3:30

嘗試SimpleTrigger有1 :10間隔。

+0

Hello Brabster, 我試過上面的cron表達式,它對你提到的模式工作正常。 但我想要得到一個模式,如: 1. 01:10 2. 02:20 3. 03:30 – Aniruddha

+0

我不確定你可以用一個cron表達式來表達 - 它真的是觸發一個固定間隔爲1:10。你可以用幾個表達式來做到這一點,一個用於10小時觸發器,另一個用於20小時以後,如果由於某種原因使用cron很重要。如果你想要簡單易懂的東西,一種不同類型的觸發器可能會更好 - SimpleTrigger支持以簡單間隔觸發,例如http://www.quartz-scheduler.org/documentation/quartz-2.x/tutorials/ tutorial-lesson-05.html – Brabster

+0

它與SimpleTrigger一起使用。 謝謝你的幫助。 – Aniruddha