2012-12-20 27 views
5

मैं नौकरी कि होगा बनाने की जरूरत:क्वार्ट्ज - अनुसूची नौकरियों सप्ताह और समय के कई दिवस के अवसर पर हर दो हफ्ते

  • एक 12/20/2012
  • ENDDATE = 2017/12/31
  • शुरू होता है
  • रविवार को हर 2 सप्ताह में होगा और सोमवार
  • आग 5 बजे आग लगती है।

क्या यह क्रॉन अभिव्यक्ति वैध है?

Date start = 12/20/2012; 
Date endDate = 12/31/2017; 
SimpleTrigger trigger = newTrigger() 
    .withIdentity("trigger3", "group1") 
    .startAt(startDate) 
    .withSchedule(cronSchedule("* * 17 0 0/2 *,SUN,MON").build()) 
    .endAt(endDate) 
    .build; 

कृपया सलाह दें।

+1

मुझे लगता है कि * * 17 0 0/2 *, रवि, सोम – Mukus

+0

सेट करने के लिए प्रत्येक रविवार और सोमवार को 5 बजे होने वाली एक क्रॉन नौकरी 0 17 * * 0,1 होगी जहां 0 = मिनट, 17 = घंटे, * = महीने का दिन, * = महीना, 0,1 = रविवार, सोमवार या सप्ताह का दिन रविवार के साथ 0 और शनिवार के रूप में 7. मैं इस बारे में नहीं सोच सकता कि इस के साथ हर दो सप्ताह कैसे सेट करें। मुझे नहीं लगता कि सप्ताह के दिन और सप्ताह के दिन एक ही समय में इस्तेमाल किया जा सकता है। यह सच नहीं हो सकता है। – Mukus

+0

क्या आप इसे समझने में सक्षम थे? क्या आपने इसे प्राप्त करने के लिए किसी अन्य उपकरण का उपयोग किया था? – user2023507

उत्तर

1

मेरा सुझाव है कि आप अपने क्रॉन अभिव्यक्ति के आधार पर एक यूनिट परीक्षण करते हैं। Van de Voorde Toni को प्रशंसा के साथ, आप इस कोड पर आधार कर सकते हैं, और कहा कि "nextValidTimeAfter" आपकी अपेक्षाओं से मेल खाता सत्यापित करने के लिए इसका इस्तेमाल करते हैं:

import java.text.ParseException; 
import java.util.Date; 

import org.quartz.CronExpression; 

public class CronTester { 

    public static void main(String[] args) throws ParseException { 
     final String expression = "* * 17 0 0/2 *,SUN,MON"; 
     final CronExpression cronExpression = new CronExpression(expression); 

     final Date nextValidDate1 = cronExpression.getNextValidTimeAfter(new Date()); 
     final Date nextValidDate2 = cronExpression.getNextValidTimeAfter(nextValidDate1); 

     System.out.println(nextValidDate1); 
     System.out.println(nextValidDate2); 

    } 
} 
+0

यह क्रॉन अभिव्यक्ति अमान्य है। cronMaker.com पर इसे आज़माएं –