चल रहा है मैं महीने के पहले दिन मध्यरात्रि में एक विशिष्ट कार्य चलाने के लिए स्प्रिंग के साथ क्वार्ट्ज का उपयोग कर रहा हूं। मैंने सर्वर की शुरुआत & महीने के आखिरी दिन 11:59 होने के समय, सर्वर से शुरू करने और 12:00 बजे तक चलने वाले कार्य को देखकर नौकरी का परीक्षण किया है, लेकिन मैं उन मामलों के बारे में चिंतित हूं जहां मामलों के बारे में चिंतित है सर्वर (किसी भी कारण से) महीने के पहले को मध्यरात्रि में नहीं चल रहा है।एक मिस्ड क्वार्ट्ज जॉब
मुझे लगता है कि क्वार्ट्ज में मिस्फीयर हैंडलिंग इस पर ध्यान रखेगी, लेकिन शायद मैं उस पर गलत हूं?
क्या कोई मुझे सलाह दे सकता है कि मैं इसे कैसे संभालने में सक्षम हूं? मैं वास्तव में ऐसी नौकरी नहीं बनाना चाहूंगा जो हर 'एक्स' सेकंड/मिनट/घंटे चलाता है और यह देखने के लिए जांच करें कि क्या मुझे नौकरी चलाने की ज़रूरत है अगर मैं इससे बच सकूं।
मैं भी उत्सुक हूं कि मुझे कोई क्वार्ट्ज संबंधित लॉगिंग जानकारी क्यों नहीं दिखाई दे रही है, लेकिन यह एक माध्यमिक मुद्दा है।
यहाँ कार्य के लिए मेरी वसंत विन्यास है:
<bean id="schedulerService" class="com.bah.pams.service.scheduler.SchedulerService">
<property name="surveyResponseDao" ref="surveyResponseDao"/>
<property name="organizationDao" ref="organizationDao"/>
</bean>
<bean name="createSurveyResponsesJob" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.bah.pams.service.scheduler.jobs.CreateSurveyResponsesJob"/>
<property name="jobDataAsMap">
<map>
<entry key="schedulerService" value-ref="schedulerService"/>
</map>
</property>
</bean>
<!-- Cron Trigger -->
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="createSurveyResponsesJob"/>
<property name="cronExpression" value="0 0 0 1 * ? *"/>
<!--if the server is down at midnight on 1st of month, run this job as soon as it starts up next -->
<property name="misfireInstructionName" value="MISFIRE_INSTRUCTION_FIRE_ONCE_NOW"/>
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="autoStartup" value="true"/>
<property name="quartzProperties">
<props>
<prop key="org.quartz.jobStore.class">org.quartz.simpl.RAMJobStore</prop>
<prop key="org.quartz.jobStore.misfireThreshold">60000</prop>
</props>
</property>
<property name="jobDetails">
<list>
<ref bean="createSurveyResponsesJob"/>
</list>
</property>
<property name="triggers">
<list>
<ref bean="cronTrigger"/>
</list>
</property>
</bean>