2015-09-07 1370 views
0

我需要每隔一個星期一和星期三觸發我的郵件。我在我的應用程序中使用Java Spring。我已嘗試在週三使用此cron表達式00 15 11 ? * MONDAY#1和相同的內容,但它在本月的星期一和星期三觸發。我想要的是它應該在每個月的第一週,第三週和第五週的星期一和星期三觸發。每兩週後重復發生一次Cron表達式

有人可以幫助我創建此cron表達式。

回答

1
All type of cron exrpession you build from website [Cron Maker] 
I have one solution to meet with your requirement: 
Algorithm: 
1. Run cron every MON and WED day. 


    eg. 0 0 12 ? * MON,WED * 
     Start time Monday, September 7, 2015 6:10 AM Change 
     Next 5 scheduled dates 
     a. Monday, September 7, 2015 12:00 PM 
     b. Wednesday, September 9, 2015 12:00 PM 
     c. Monday, September 14, 2015 12:00 PM 
     d. Wednesday, September 16, 2015 12:00 PM 
     e. Monday, September 21, 2015 12:00 PM 

2. Now pro-grammatically control on odd week. for eg in java 


    Calendar c = Calendar.getInstance(); 
     if(c.get(Calendar.WEEK_OF_MONTH) % 2 != 0) { 
      //execute job 
     } else { 
      //not execute job just skip operation 
     } 

如果我能取得實際的cron的話,我將它張貼。

+0

我無法在Cron Maker的每個月的第一,第三和第五週的星期一和星期三創建cron表達式 –

0

你想要的是

00 15 11 ? * MONDAY#1,MONDAY#3,MONDAY#5,WEDNESDAY#1,WEDNESDAY#3,WEDNESDAY#5" 

,但我不認爲這是去上班,因爲#,只有一個表達式是允許的。所以,你必須有多個cron條目,如下所示。

00 15 11 ? * MONDAY#1 
00 15 11 ? * MONDAY#3 
00 15 11 ? * MONDAY#5 
00 15 11 ? * WEDNESDAY#1 
00 15 11 ? * WEDNESDAY#3 
00 15 11 ? * WEDNESDAY#5 
+0

我試過這個,但它在本月的第一,第三和第五個星期一和星期三觸發。我希望它應該在每個月的第一,第三和第五週的星期一和星期三觸發 –

+0

我並不真正關注你。這一個觸發在每個月的第1個星期一,第3個星期一,第5個星期一,第1個星期三,第3個星期三和第5個星期三。 –