2013-10-10 614 views
3

我正在使用Spring Quartz,並且我有一份運行every 10 mins的工作。它工作正常,沒有任何問題使用cron表達式。cron表達式在指定時間運行作業?

但現在我有以下要求。

它必須每10分鐘運行一次,但它不應該在下面提到的時間內運行。

Sat 5pm to Sun 9am 
Sun 5pm to Mon 9am 

我怎樣才能寫入cron表達式滿足上述使用單cron表達式條件? Job必須每10分鐘運行一次,但不應該在上述時間內運行。

謝謝!

+0

我認爲這是cron表達式的力量本身是不夠的。我會猶豫建議如何處理工作中的情況(我的意思是工作會開始,但首先檢查它是否處於停電期,如果在上述時間段內不會做任何事情) – ppeterka

+0

所以,我需要通過邏輯處理它的權利? – user755806

+0

我想是的。但我不是100%肯定的,只是說99%...石英是強大和廣泛使用的,這似乎是一個明智的要求,所以我認爲有一種方法......只是我不知道一個。 – ppeterka

回答

0

你可能需要4個石英的cron表達式:

0 0/10 * ? * TUE-FRI 
0 0/10 0-16 ? * SAT 
0 0/10 9-16 ? * SUN 
0 0/10 9-23 ? * MON 

您可以使用online cron expression checker驗證石英的cron表達式。

+0

您可以將第二個和第三個表達式組合成一個類似於'0 0/10 0-16? * SUN,SAT' –

+0

不,你不能。它在星期日給0-16,但是需要9-16。 – ragnor

+0

哈哈...對不起,我沒有戴眼鏡,我發誓我在週日的時間表上看到了0而不是9。 –