मेरा आवेदन एडब्ल्यूएस सेवाओं पर भारी निर्भर करता है, और मैं उनके आधार पर एक इष्टतम समाधान की तलाश में हूं। वेब एप्लिकेशन एक निर्धारित नौकरी ट्रिगर करता है (अनगिनत बार-बार मानें) जिसके लिए संसाधनों की कुछ मात्रा की आवश्यकता होती है। कार्य के एकल भाग में आमतौर पर अधिकतम 1 मिनट लगेंगे।एडब्ल्यूएस सेवाओं का उपयोग कर लंबे समय से चलने वाले कार्यों का निर्धारण
वर्तमान विचार क्यूई आकार के आधार पर एसक्यूएस और स्पॉन श्रमिकों के माध्यम से नौकरियों को पारित करना है। (यह हिस्सा कम या ज्यादा स्पष्ट है) लेकिन मैं वास्तव में कुछ अंतराल पर नौकरियों को ट्रिगर करने के लिए एक उचित समाधान खोजने के लिए संघर्ष करता हूं। मान लें कि हम 10000 नौकरियों से निपट रहे हैं। इसलिए एक शेड्यूलर के लिए 10k cronjobs चलाने के लिए (नौकरी स्वयं ही सरल है, बस एसक्यूएस के माध्यम से नौकरी का विवरण पास कर रहा है) एक ही समय में एक पागल विचार की तरह लगता है। तो वास्तविक सवाल यह होगा कि शेड्यूलर को स्वयं कैसे ऑटोस्केल करना है (शेड्यूलर को पुनरारंभ करने पर परिदृश्य दिए गए हैं, नया उदाहरण बनाया गया है आदि)? या शेड्यूलर ऐप के रूप में अनावश्यक है और एडब्ल्यूएस लैम्ब्डा फ़ंक्शंस (या शेड्यूलिंग प्रदान करने वाली अन्य सेवाएं) पर भरोसा करना बुद्धिमान है? लैम्ब्डा फ़ंक्शंस का उपयोग करने में समस्या निश्चित सीमा है और एकल फ़ंक्शन द्वारा प्रदान की गई 128 एमबी की स्मृति वास्तव में बहुत अधिक है (20 एमबी पर्याप्त से अधिक की तरह दिखती है)
वैकल्पिक रूप से, कार्यकर्ता स्वयं कुछ निश्चित समय तक प्रतीक्षा कर सकता है और अधिसूचित कर सकता है शेड्यूलर कि इसे नौकरी को एक और बार ट्रिगर करना चाहिए। मान लीजिए कि अगर आवृत्ति 1 घंटा है करते हैं:
1. Scheduler sends job to worker 1
2. Worker 1 performs the job and after one hour sends it back to Scheduler
3. Scheduler sends the job again
यहां मुद्दा यह है तथापि कि कार्यकर्ता की संभावना में
बॉटम लाइन मैं एक हल्के अनुसूचक जायें जो कि प्राप्त करने के लिए कोशिश कर रहा हूँ बढ़ाया मिल जाएगा। ऑटोस्केलिंग की आवश्यकता नहीं है और नौकरी के विवरण प्रसारित करने के एकमात्र उद्देश्य के साथ एक केंद्र के रूप में कार्य करता है। और निश्चित रूप से सेवा पुनरारंभ पर थ्रॉटल नहीं होना चाहिए।
"लंबे समय से चल रहे कार्यों" (काम पूरा हो जाने S3 से बाहर कार्य को हटाने का मत भूलना) .. "अधिकतम 1 मिनट ले जाएगा": सुझाव के लिए/ –