मेरे आवेदन के लिए मैं नौकरियां बनाता हूं और उन्हें क्रोनट्रिगर्स के साथ शेड्यूल करता हूं। प्रत्येक नौकरी में केवल एक ट्रिगर होता है और दोनों नौकरी का नाम और ट्रिगर नाम समान होते हैं। कोई नौकरियां ट्रिगर साझा नहीं करती हैं।क्वार्ट्ज जावा एक नौकरी फिर से शुरू करने से कई बार
अब जब मैं इस "0/1 * * * *" जैसे क्रॉन ट्रिगर बनाता हूं? जो हर सेकेंड को निष्पादित करने के लिए नौकरी निर्देशित करता है, यह ठीक काम करता है।
समस्या बढ़ जाता है जब मैं पहली बार फोन करके काम को थामने:
scheduler.pauseJob(jobName, jobGroup);
और उसके बाद काम शुरू करने के बाद के साथ 50 सेकंड का कहना है:
scheduler.resumeJob(jobName, jobGroup);
क्या मैं देख रहा है कि ये 50 के लिए अनुरोध के रूप में नौकरी निष्पादित नहीं की गई सेकंड्स। लेकिन जिस क्षण मैं नौकरी फिर से शुरू करता हूं, मुझे एक ही समय में नौकरी के 50 निष्पादन दिखाई देता है !!!
मैंने सोचा था कि इस इंजन चालू न होना शिक्षा के लिए डिफ़ॉल्ट सेटिंग की वजह से लेकिन फिर भी यह करने के लिए निर्माण पर ट्रिगर के इंजन चालू न होना Instruciton सेट करने के बाद किया गया था:
trigger.setMisfireInstruction(CronTrigger.MISFIRE_INSTRUCTION_DO_NOTHING);
एक ही बात होता है। क्या कोई इसे ठीक करने का तरीका सुझा सकता है?
आपको बहुत बहुत धन्यवाद :) यह एक आकर्षण की तरह काम करता है। ऐसा लगता है कि नौकरी को रोकने के लिए इतना आसान काम इस तरह की समस्याएं पैदा करेगा। –