मेरे पास क्लस्टर क्वार्ट्ज शेड्यूलर है (उसी डीबी का जिक्र करते हुए 3 चल रहे जावा इंस्टेंस जहां क्वार्ट्ज टेबल मौजूद हैं)। मेरे क्वार्ट्ज गुण फ़ाइल में मेरे पास नीचे है। org.quartz.scheduler.instanceId = AUTO org.quartz.jobStore.isClustered = true

नीचे जावा कोड है

import org.quartz.JobKey;
import org.quartz.Scheduler;
boolean interruptResult = scheduler.interrupt(new JobKey(jobName,groupName));

उदाहरण : मामला एक : उदाहरण 'ए' और . में नौकरियां चल रही हैं जब व्यवधान अनुरोध उदाहरण के लिए आता है 'बी' यह बाधित करने में सक्षम नहीं है और interruptResult झूठा के रूप में आता है।

केस 2: उदाहरण 'ए' में नौकरियां चल रही हैं और जब 'ए' के ​​लिए बाधा अनुरोध आता है, तो यह नौकरी को बाधित करके पूरी तरह से काम करता है।

क्या कोई मेरी मदत कर सकता है ? क्या मुझे मल्टी-इंस्टेंस (क्लस्टर) सेटअप के लिए अतिरिक्त कॉन्फ़िगरेशन याद आ रहा है?

अग्रिम में बहुत धन्यवाद !!!

0
crazy_code 10 पद 2020, 14:57

1 उत्तर

सबसे बढ़िया उत्तर

इस तरह क्वार्ट्ज काम करता है। जब आप इसके बारे में सोचते हैं, तो क्वार्ट्ज क्लस्टर स्टैंडअलोन क्वार्ट्ज इंस्टेंस का "बस" गुच्छा होता है जो समान JDBC जॉब स्टोर को साझा करने के लिए होता है। क्वार्ट्ज इंस्टेंस अपनी पसंद के अनुसार आ और जा सकते हैं और उन्हें पंजीकरण / अपंजीकृत करने की आवश्यकता नहीं है, कोई केंद्रीय नोड नहीं है जो वर्तमान क्लस्टर टोपोलॉजी का ट्रैक रखता है और अनुसूचित नौकरियों के निष्पादन को व्यवस्थित करता है।

इस डिज़ाइन के कुछ फायदे हैं (उदाहरण के लिए आसान कार्यान्वयन, उच्च विश्वसनीयता, और केंद्रीकृत नोड/प्रबंधक के न होने के कारण मजबूती) और कुछ नुकसान (जैसे क्लस्टर-व्यापी संचालन जैसे नौकरियों में बाधा डालना कुछ हद तक लागू करने के लिए कठिन है, लोड- संतुलन आदिम है)।

अपने उपयोग के मामले को लागू करने के लिए, आपको यह करना होगा:

  1. उस विशेष शेड्यूलर इंस्टेंस पर वर्तमान में निष्पादित सभी नौकरियों की सूची प्राप्त करने के लिए अपने सभी क्लस्टर क्वार्ट्ज शेड्यूलर और क्वेरी शेड्यूलर के माध्यम से पुनरावृत्त करें।

  2. क्वार्ट्ज शेड्यूलर इंस्टेंस ढूंढें जो वर्तमान में आपका काम निष्पादित कर रहा है।

  3. पाए गए क्वार्ट्ज शेड्यूलर इंस्टेंस पर इंटरप्ट ऑपरेशन को आमंत्रित करें।

चूंकि आपको रिमोट कॉल करना होगा, आप स्थानीय क्वार्ट्ज एपीआई का उपयोग नहीं कर सकते। मैं इस काम के लिए क्वार्ट्ज जेएमएक्स एपीआई का उपयोग करने की सलाह देता हूं, या आप क्वार्ट्ज आरएमआई एपीआई का उपयोग कर सकते हैं। दोनों का उपयोग करना काफी आसान है और Google पर पर्याप्त उदाहरण होने चाहिए।

1
Jan Moravec 13 पद 2020, 12:23