हिन्दी

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

Cron में कोई समय क्षेत्र फ़ील्ड क्यों नहीं है: स्थानीय समय, CRON_TZ और UTC में कंटेनर

· पेजभूमि

Cron समय क्षेत्र अनुसूची बनाना

UTC, टोक्यो और न्यूयॉर्क में घड़ियों की ओर इशारा करने वाली एक पाँच-फ़ील्ड अभिव्यक्ति
मूल ToolAcre वेक्टर चित्रण

Cron एक्सप्रेशन में कोई समय क्षेत्र नहीं होता है, इसलिए समान पांच फ़ील्ड का मतलब अलग-अलग होस्ट पर अलग-अलग क्षण होते हैं। यह पोस्ट बताती है कि कौन सा क्लॉक क्रोन, CRON_TZ एक्सटेंशन का उपयोग करता है, और कंटेनर उत्तर क्यों बदलते हैं।

जब चयनित क्षेत्र बदलता है तो वही फ़ील्ड अलग-अलग पूर्वावलोकन इंस्टेंट उत्पन्न करते हैं

`0 9 * * *` में एक घंटा है लेकिन कोई स्थान नहीं है। ToolAcre में, UTC या Asia/Tokyo चुनने से प्रत्येक 09:00 वॉल-क्लॉक उम्मीदवार द्वारा प्रस्तुत तत्काल को बदलते समय पांच फ़ील्ड अपरिवर्तित रह जाते हैं। इसलिए जब दो वातावरण अलग-अलग क्षेत्रों में समान स्थानीय लेबल की व्याख्या करते हैं तो एक रिपोर्ट घंटों अलग दिखाई दे सकती है।

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

अभिव्यक्ति में कोई क्षेत्र नहीं है; बाहरी डेमॉन घड़ी चयन यहां कॉन्फ़िगर नहीं किया गया है

बिल्कुल पाँच फ़ील्ड विशिष्टताएँ हैं, किसी का भी नाम समय क्षेत्र नहीं है। `nextRuns` ज़ोन को एक अलग विकल्प के रूप में स्वीकार करता है और JavaScript द्वारा देखे गए होस्ट वातावरण में डिफ़ॉल्ट होता है। यह पृथक्करण साबित करता है कि ज़ोन संदर्भ ToolAcre के मॉडल में अभिव्यक्ति के लिए बाहरी है।

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

CRON_TZ समर्थन इस पार्सर के बाहर है और इसका दावा नहीं किया गया है

`CRON_TZ` को पार्स नहीं किया गया है. अभिव्यक्ति बॉक्स में इसे दर्ज करना विफल हो जाता है क्योंकि यह पाँच फ़ील्ड नहीं है, और कोई भी प्रति-फ़ील्ड नियंत्रण एक निर्देश संग्रहीत नहीं करता है। कार्यपुस्तिका का दावा है कि एक कार्यान्वयन इसका समर्थन करता है जबकि अन्य को ऐसे स्रोतों की आवश्यकता नहीं है जो यहां मौजूद नहीं हैं।

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

TZ पर्यावरण शब्दार्थ प्रतिरूपित नहीं हैं

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

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

कंटेनर और क्लाउड डिफॉल्ट के लिए लक्ष्य साक्ष्य की आवश्यकता होती है

मार्ग द्वारा कंटेनरों और क्लाउड छवियों का निरीक्षण नहीं किया जाता है। किसी Docker सॉकेट, होस्ट क्लॉक या मेटाडेटा सेवा के बारे में पूछताछ नहीं की गई है। यह दावा कि वे डिफ़ॉल्ट रूप से UTC पर हैं, किसी विशेष परिनियोजन में सही हो सकते हैं लेकिन पाठक के ब्राउज़र में चल रहे `Intl.DateTimeFormat` से सामान्यीकृत नहीं किए जा सकते।

इसके प्रलेखित टूल और कॉन्फ़िगरेशन के माध्यम से वास्तविक लक्ष्य क्षेत्र को कैप्चर करें। फिर उपलब्ध होने पर ToolAcre में वही IANA नाम चुनें। ब्राउज़र ज़ोन सूची दर्शाती है कि उसका इंजन क्या जानता है; यह साबित नहीं करता कि लक्ष्य में समान ज़ोन डेटा या सेटिंग्स हैं।

व्यावहारिक उदाहरण: हार्ड-कोडिंग मौसमी रूपांतरण के बिना दो चयनित क्षेत्रों में 09:00 का पूर्वावलोकन करें

`0 9 * * *` को निश्चित रखें और एक परिणाम का पूर्वावलोकन UTC में करें, फिर अमेरिका में/New_York. प्रत्येक सूची 09:00 को दीवार समय के रूप में दिखाती है, लेकिन युग के क्षण लागू क्षेत्र ऑफसेट के अनुसार भिन्न होते हैं। एक स्थायी घंटे के रूपांतरण को प्रकाशित करने से बचें क्योंकि क्षेत्रीय ऑफसेट तारीखों के अनुसार बदल सकते हैं।

परीक्षण इस सिद्धांत को UTC और टोक्यो आधी रात के साथ और आगे के बदलाव में लंदन के दैनिक कार्य के साथ प्रदर्शित करते हैं। समीक्षाधीन तिथियों के लिए लाइव उम्मीदवारों का उपयोग करें। यदि परिनियोजन शेड्यूल को एक निश्चित UTC घंटे में परिवर्तित करता है, तो एक मान लागू करने के बजाय मौसमी सीमा का दस्तावेज़ स्थानीय 09:00 को हमेशा के लिए संरक्षित करता है।

DST उम्मीदवार प्रबंधन एक ToolAcre पूर्वावलोकन व्यवहार है, डेमॉन गारंटी नहीं

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

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

टेकअवे: एक शेड्यूल केवल उसके क्षेत्र के साथ पूरा होता है - जनरेटर में फ़ील्ड बनाएं, फिर उनके बगल में समय क्षेत्र रिकॉर्ड करें

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

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