एप्लिकेशन के लिए एक बहुत ही सामान्य आवश्यकता प्रत्येक एक्स मिनट/घंटे में एक स्क्रिप्ट चलाने के लिए है। असल में यह कुछ भी जटिल नहीं है, बस कुछ PHP कोड और एक crontab प्रविष्टि।क्रोनबॉज - इसे सही तरीके से कैसे करें?
हालांकि मैंने पिछले कुछ वर्षों में उन cronjobs में से कुछ लिखा है, लेकिन मैंने अभी तक कोई भी सर्वोत्तम प्रथा नहीं देखी है, कम से कम इतना नहीं। प्रत्येक "पृष्ठभूमि प्रसंस्करण" के साथ-साथ कई चीजें विशेष रूप से उत्पादन सेटिंग्स में गलत हो सकती हैं।
उनमें से:
- एक त्रुटि क्रॉन के निष्पादन के दौरान हुई और स्क्रिप्ट डेटा के प्रसंस्करण के आधे की मृत्यु हो गई
- cronjob गलती से अन्य प्रक्रिया द्वारा दो बार शुरू किया गया था/उपयोगकर्ता त्रुटि से/जो कुछ भी
- cronjob अब जिस तरह से संभाल लिया है तो उम्मीद और स्क्रिप्ट फिर से हालांकि इसके प्रसंस्करण डेटा
- आदि
रॉक-ठोस, मजबूत क्रोनबॉज स्क्रिप्ट लिखने के लिए कुछ सर्वोत्तम मूल्य क्या हैं? एक लॉक फ़ाइल लिखते हुए जोर देकर कहा कि केवल एक उदाहरण चलता है, व्यापक लॉगिंग और निगरानी में दस हजार डुप्लिकेट ईमेल भेजने से रोकने के लिए? आपके विचार क्या हैं?
दिलचस्प है कि आप इस पोस्ट किया है क्योंकि मैं शोध किया गया है और एक ही बातों में से कुछ सोच रहा। मेरे मामले में, मैं वास्तव में चिंतित हूं कि मैं लिखने वाली शेल स्क्रिप्ट में अपवाद हैंडलिंग को प्रभावी ढंग से कैसे कार्यान्वित करना है। http: // stackoverflow।कॉम/प्रश्न/6961389/अपवाद-हैंडलिंग-इन-शेल-स्क्रिप्टिंग में उस पर कुछ अच्छी जानकारी है यदि आप उत्सुक हैं। मैं मुख्य रूप से जावा डेवलपर हूं और अपवाद हैंडलिंग बहुत मजबूत है लेकिन * निक्स भूमि में कठिन लगता है। –
यह चलने वाली प्रत्येक स्क्रिप्ट पर निर्भर करेगा, कोई सामान्य उत्तर नहीं है, कुछ को किसी भी आवश्यकता की जांच करने में बहुत मजबूत त्रुटि की आवश्यकता नहीं है ... –
मैंने अपने प्रश्नों और दोषों के विस्तृत औचित्य के साथ अभिनव उत्तरों की प्रत्याशा में इस प्रश्न को बुकमार्क किया है, और मैं "मैं यही करता हूं" उत्तरों से बहुत निराश हूं। – nickb