ठीक है, यहां पृष्ठभूमि का थोड़ा सा है। मेरे पास एक बड़े पैमाने पर वेब एप्लिकेशन (एमवीसी 3) है जो सभी प्रकार की महत्वपूर्ण सामग्री करता है। मुझे ओरेकल डेटाबेस में एड-हाक क्वार्ट्ज.NET नौकरियां शेड्यूल करने की क्षमता रखने के लिए इस वेब एप्लिकेशन की आवश्यकता है। फिर, मैं चाहता हूं कि बाद में विंडोज सेवा के माध्यम से नौकरियों को निष्पादित किया जाए। आदर्श रूप से, मैं उन्हें अंतराल में चलाने के लिए शेड्यूल करना चाहता हूं, लेकिन वेब ऐप के माध्यम से नौकरियां जोड़ने के विकल्प के साथ।ट्रिकी क्वार्ट्ज.NET परिदृश्य
असल में, वांछित वास्तुकला इस के कुछ बदलाव है:
वेब एप्लिकेशन < -> Quartz.NET < -> डाटाबेस < -> Quartz.NET < -> Windows सेवा
मैंने अब तक कोड किया है:
- एक विंडोज सेवा जो (अभी के लिए) शेड्यूल और जॉब्स चलाती है। यह स्पष्ट रूप से लंबे समय तक मामला नहीं होने वाला है, लेकिन मुझे आश्चर्य है कि क्या मैं इसे केवल रख सकता हूं और इसे मूल रूप से उपरोक्त आरेख में "क्वार्ट्ज.नेट" दोनों का प्रतिनिधित्व करने के लिए संशोधित कर सकता हूं।
- वेब अनुप्रयोग (विवरण मुझे लगता है कि यहाँ बहुत महत्वपूर्ण नहीं हैं)
- नौकरियों (जो वास्तव में सिर्फ एक और खिड़कियों सेवा)
और एक जोड़े को महत्वपूर्ण सूचनाएं:
- इसे विंडोज़ सेवा से चलाने के लिए है, और इसे वेब ऐप के माध्यम से निर्धारित किया जाना है (आईआईएस पर लोड कम करने के लिए)
- उपरोक्त आर्किटेक्चर को थोड़ा सा पुन: व्यवस्थित किया जा सकता है, अब एबी मानते हुए ओवे बुलेट अभी भी लागू होता है।
अब, कुछ सवाल:
- यह और भी संभव है?
- मान लीजिए (1) गुजरता है, आप लोग क्या सोचते हैं इसके लिए सबसे अच्छा आर्किटेक्चर है? मैंने जो कोड किया है उस पर पहली बुलेट देखें।
- क्या कोई मुझे कुछ क्वार्ट्ज विधियां दे सकता है जो मुझे पहले से निर्धारित किए जाने के बाद नौकरियों को निष्पादित करने के लिए डीबी से पूछताछ करने में मदद करेगा?
जैसे ही यह योग्य है, इस प्रश्न पर एक बक्षीस होगा। यदि प्रश्न का उत्तर पहले संतोषजनक तरीके से दिया गया है, तो भी मैं उत्तर के पोस्टर को बक्षीस दूंगा। तो, किसी भी मामले में, यदि आप यहां एक अच्छा जवाब देते हैं, तो आपको एक बक्षीस मिलेगा।
ठीक है, पहले कुछ प्रश्न हैं। आपके अनुसार क्वार्ट्ज नौकरी क्या है? मैंने इस पर कुछ त्वरित शोध किया और ऐसा लगता है कि एक क्वार्ट्ज.Net जॉब एक इंटरफ़ेस का स्वयं लिखित इम्प्लेमेन्टेशन है। क्वार्ट्ज प्रोजेक्ट वह हिस्सा है जो शेड्यूलिंग करता है। मुख्य परियोजना पृष्ठ के अनुसार एडीओ.net के उपयोग के साथ नौकरियों को ओरेकल डेटाबेस में संग्रहीत किया जा सकता है। आपकी असली समस्या क्या है? – Remco
ठीक है, मैं सिर्फ क्वार्ट्ज सामान को विभाजित करने का तरीका समझने की कोशिश कर रहा हूं ताकि एक इकाई उन्हें शेड्यूल कर दे और दूसरी इकाई उन्हें निष्पादित करे। आम तौर पर, मैं बस कुछ ऐसा करूंगा: _scheduler.ScheduleJob (jobDetail, ट्रिगर); लेकिन यह 'ट्रिगर' के आधार पर, हर बार स्वचालित रूप से आग लगने के लिए सेट करता है। मैं उस कार्यक्षमता को रखना चाहता हूं, लेकिन फ्लाई –
पर नौकरियों को निर्धारित करने की कार्यक्षमता भी प्राप्त करता हूं और मेरे मामले में क्वार्ट्ज नौकरी एक विंडोज सेवा है जो सिस्टम –