हिन्दी

डेवलपर टूल · क्रोंटैब जनरेटर

हर मिनट Cron जॉब चलाना: कब मतदान गलत है और क्या उपयोग करना है

· यह क्यों मायने रखती है

Cron मतदान प्रदर्शन

एक पाँच-फ़ील्ड वाइल्डकार्ड अभिव्यक्ति के बगल में साठ मिनट का टिक
मूल ToolAcre वेक्टर चित्रण

हर मिनट की नौकरियाँ लिखना आसान है और साथ निभाना महंगा है। यह पोस्ट लागतों, उन मामलों के बारे में बताती है जहां वे उचित हैं, और लंबे अंतराल से लेकर डेमॉन और इवेंट ट्रिगर तक के विकल्प।

हर मिनट का सिंटैक्स पूरे 24-घंटे के दिन पर 1,440 कैलेंडर उम्मीदवार बनाता है

`* * * * *` का विस्तार 0 से 59 तक हर मिनट, हर घंटे और हर कैलेंडर तारीख तक होता है। पूरे चौबीस घंटे के दिन जो 1,440 मिलान दीवार-घड़ी मिनट लेबल उत्पन्न करता है। ToolAcre का प्रीसेट और परीक्षण व्याकरण स्थापित करते हैं, जबकि इंटरफ़ेस को पठनीय बनाए रखने के लिए इसका पूर्वावलोकन केवल अगले पांच उम्मीदवारों को दिखाता है।

गिनती अवसरों का वर्णन करती है, सफल कार्यों का नहीं। फॉरवर्ड ज़ोन ट्रांज़िशन के दौरान एक अस्तित्वहीन स्थानीय मिनट को इस पूर्वावलोकन द्वारा छोड़ा जा सकता है, और ब्राउज़र कभी भी किसी कार्य को निष्पादित नहीं करता है। ताल के बारे में तर्क करने के लिए अभिव्यक्ति का उपयोग करें, फिर वास्तविक रनटाइम प्रभावों को मापें जहां कमांड और शेड्यूलर मौजूद हैं।

रनटाइम लागत की गणना केवल अभिव्यक्ति से नहीं की जा सकती

किसी अभिव्यक्ति में कोई प्रक्रिया स्टार्टअप समय, कनेक्शन गणना, लॉग वॉल्यूम या संसाधन उपयोग नहीं होता है। एक-लाइन चेक और एक बड़ा आयात अतुलनीय लागत लगाते हुए समान पांच सितारों को साझा कर सकता है। कार्यपुस्तिका की ओवरहेड्स की सूची प्रशंसनीय हो सकती है, लेकिन ToolAcre उन्हें शेड्यूल टेक्स्ट से निर्धारित नहीं किया जा सकता है।

इसलिए प्रदर्शन विश्लेषण जनरेटर के बाहर शुरू होता है: वास्तविक कार्रवाई के लिए अवधि, CPU, I/O और डाउनस्ट्रीम कॉल का निरीक्षण करें। प्रतिनिधि रनों को मापने के बाद ही उम्मीदवार की आवृत्ति से सावधानीपूर्वक गुणा करें। पार्सर आपको बता सकता है कि कितने मिनट के मान मेल खाते हैं; यह आपको यह नहीं बता सकता कि प्रत्येक मैच की लागत क्या है।

उपयुक्तता बाहरी कार्रवाई और विलंबता आवश्यकता पर निर्भर करती है

प्रत्येक मिनट का मतदान उचित है या नहीं, यह विलंबता आवश्यकता और कार्य डिज़ाइन पर निर्भर करता है। ToolAcre यह नहीं जानता कि क्या आदेश निष्क्रिय है, क्या कोई ईवेंट स्रोत मौजूद है या उपयोगकर्ता कितना विलंब सहन कर सकते हैं। इसे शेड्यूल को स्वाभाविक रूप से अच्छा या बुरा लेबल नहीं करना चाहिए।

आवश्यकता को अधिकतम स्वीकार्य अंतराल में परिवर्तित करें, फिर उसकी तुलना देखी गई लागत और विफलता प्रबंधन से करें। यदि पांच मिनट की विलंबता पर्याप्त है, तो `*/5 * * * *` मिनट के उम्मीदवारों को प्रति घंटे बारह तक कम कर देता है। यदि केवल एक मिनट की विलंबता काम करती है, तो ताल बनाए रखें और निष्पादन संबंधी चिंताओं को स्पष्ट रूप से संबोधित करें।

मिनट ऑफसेट निश्चित प्रति घंटे के काम को वितरित करते हैं लेकिन इसे यादृच्छिक नहीं बनाते हैं

एक निश्चित ऑफसेट जैसे `7 * * * *` प्रत्येक घंटे के सातवें मिनट का चयन करता है। यह उस कार्य को मिनट शून्य पर पिन किए गए कार्य से अलग कर सकता है, लेकिन यह यादृच्छिक होने के बजाय नियतात्मक है। एकाधिक ऑफसेट ज्ञात नौकरियों को पूरे घंटे में वितरित कर सकते हैं जब उनका सटीक वॉल मिनट महत्वहीन हो।

ToolAcre प्रत्येक घंटे के सातवें मिनट का वर्णन करता है और संबंधित तिथियों का पूर्वावलोकन करता है। यह होस्ट पर अन्य शेड्यूल का निरीक्षण नहीं करता है, इसलिए यह साबित नहीं कर सकता कि चुना गया ऑफसेट शांत है। लोड फैलने का दावा करने से पहले एक सूची बनाएं और दस्तावेज़ीकरण में ऑफसेट का कारण सुरक्षित रखें।

कर्मचारी और सेवा टाइमर इस भंडार के बाहर विकल्प हैं

लंबे समय तक काम करने वाले कर्मचारी, इवेंट डिलीवरी और सेवा-प्रबंधक टाइमर कुछ प्रणालियों में मतदान की जगह ले सकते हैं। क्रोंटैब जनरेटर द्वारा कोई भी कार्यान्वित नहीं किया गया है, और उनके कॉन्फ़िगरेशन का अनुमान `* * * * *` से नहीं लगाया जा सकता है। रिपॉजिटरी में कोई कतार क्लाइंट या पर्यवेक्षक एकीकरण नहीं है।

लक्ष्य वास्तुकला के साक्ष्य से विकल्प चुनें। एक कार्यकर्ता जीवनचक्र और पुनर्प्राप्ति आवश्यकताओं को लागू करते हुए बार-बार स्टार्टअप को हटा सकता है। डिलीवरी सिमेंटिक्स जोड़ते समय एक ईवेंट पथ खाली चेक को कम कर सकता है। जनरेटर किसी भी अवशिष्ट आवधिक कार्यों के लिए उपयोगी रहता है, लेकिन यह उन ट्रेडऑफ़ का निर्णय नहीं कर सकता है।

कारगर उदाहरण: उम्मीदवार की आवृत्ति कम करें और पूर्वावलोकन की तुलना करें

पैनल में तीन अभिव्यक्तियों की तुलना करें: हर मिनट, `*/5 * * * *`, और `7 * * * *`। पहला एक मिनट आगे बढ़ता है, दूसरा 0, 5, 10 और बाद के गुणकों का चयन करता है, और तीसरा प्रति घंटे एक मिनट की स्थिति का चयन करता है। विवरण पोलर निष्पादित किए बिना प्रत्येक परिवर्तन को उजागर करते हैं।

विलंबता पर ठोस शब्दों में चर्चा करने के लिए उन उम्मीदवार सूचियों का उपयोग करें। यदि उम्मीदवार के पास पांच मिनट के तुरंत बाद अनुरोध आता है, तो अगला अवसर लगभग पांच मिनट दूर है। वह सरल बंधन अनुसूची साक्ष्य है। प्रसंस्करण अवधि, कतार में देरी और सफलता अतिरिक्त माप हैं जो ब्राउज़र आपूर्ति नहीं कर सकता है।

इसमें क्या शामिल नहीं है - उप-मिनट शेड्यूलिंग, जिसे Cron व्यक्त नहीं कर सकता है

पाँच-फ़ील्ड क्रोन सेकंड को व्यक्त नहीं कर सकता क्योंकि यह पार्सर मिनट से शुरू होता है। छह-फ़ील्ड इनपुट को उच्च आवृत्ति के रूप में मानने के बजाय अस्वीकार कर दिया जाता है। उप-मिनट कार्य का अनुकरण करने के लिए शेल लूप बनाना ToolAcre के बाहर कमांड व्यवहार है और रनटाइम-विशिष्ट परीक्षण के बिना यहां अनुशंसित नहीं है।

यदि आवश्यकता एक मिनट से कम है, तो उस समाधान के लिए डिज़ाइन और दस्तावेज़ीकृत शेड्यूलर या कार्यकर्ता का चयन करें। किसी असमर्थित सेकंड मान को पहले फ़ील्ड में ज़बरदस्ती न डालें। सटीक-पांच-फ़ील्ड त्रुटि एक उपयोगी बोली गार्ड है जो तेजी से दिखने वाली अभिव्यक्ति को चुपचाप गलत तरीके से पढ़े जाने से रोकती है।

टेकअवे: आवश्यकता को पूरा करने वाला सबसे मोटा अंतराल चुनें - और जनरेटर */5 या */15 अभिव्यक्ति को पांच सितारों जितना आसान बनाता है

सबसे कठोर ताल चुनें जो मापी गई आवश्यकता को पूरा करता हो, लेकिन निर्णय को अभिव्यक्ति की वैधता से अलग रखें। ToolAcre मिनट, पांच मिनट और ऑफसेट शेड्यूल को समान रूप से वाक्यात्मक रूप से सही बना सकता है। केवल परिचालन साक्ष्य ही यह निर्धारित करते हैं कि सिस्टम में कौन सा है।

अवसरों की गणना करने के लिए जनरेटर का उपयोग करें, फिर लक्ष्य से लागत, विलंबता और विश्वसनीयता माप संलग्न करें। वह संयुक्त रिकॉर्ड सभी मामलों में हर मिनट Cron को महंगा घोषित करने या कम लगातार अभिव्यक्ति मानने से अधिक ईमानदार है जो स्वचालित रूप से अक्षम कार्य को ठीक करता है।