अध्याय 6

स्वचालन

ऐसा काम जो बिना किसी के कहे होता रहता है: ठीक समय पर होने वाले निर्धारित कार्य, हल्की-फुल्की दोहराई जाने वाली जाँचें, और अपने-आप लिखी जाने वाली रिपोर्टें।

सभी अध्याय

किस काम के लिए कौन-सा औज़ार

शेड्यूल किए गए कार्यहार्टबीट जाँच
चलता हैठीक समय पर, आपके चुने हुए समय क्षेत्र मेंपोलिंग अंतराल पर, डिफ़ॉल्ट रूप से हर घंटे
किसके लिए सबसे अच्छासुबह 9 बजे का सार, शुक्रवार की रिपोर्ट, एक-बार वाला रिमाइंडर„क्या कुछ बदला है?“ जैसी जाँचें, जो थोड़े बहुत बदलाव को बर्दाश्त कर लेती हैं
इतिहासहर रन के लिए सफलता या नाकामी दर्ज होती हैतभी सामने आता है जब कोई जाँच कुछ पाती है
यहाँ प्रबंधित होता है:वह शेड्यूलर और कैलेंडर हिस्सों मेंएजेंट का हार्टबीट कार्ड और उसकी जाँच वाली फ़ाइल

जब सही समय मायने रखता हो तो निर्धारित कार्य अपनाइए। जब सवाल मायने रखता हो पर मिनट नहीं - और जब आप एक दर्जन छोटी जाँचों को अलग-अलग कार्य बनाने के बजाय एक साथ रखना चाहें - तो Heartbeat जाँच अपनाइए।

निर्धारित कार्य बनाना

  1. Scheduler खोलिए और नया कार्य दबाइए। पहले एक शेड्यूल प्रकार चुनिए: आवर्ती या एक-बार.
  2. cron के बिना ही शेड्यूल बनाइए। आवर्ती में Minutes (हर N पर), Hourly (चुने गए मिनट पर, हर N घंटे में), Daily, Weekly (हफ़्ते के दिन चुनिए), Monthly (महीने की तारीख़), या पावर-यूज़र के लिए सीधा Custom cron उपलब्ध है। एक-बार में असली तारीख़ और समय चुनने वाला विकल्प है, जो सिर्फ़ आने वाली तारीख़ों तक सीमित है। सब कुछ मिनट-स्तर की सटीकता पर चलता है।
  3. सादी भाषा में लिखा सार जाँचिए। जैसे-जैसे आप बदलाव करते हैं, बिल्डर लिखता जाता है कि वह क्या करेगा - “हर 2 घंटे में :20 पर चलता है”, “शुक्रवार, 19 जून को 09:00 बजे एक बार चलता है”। अगर यह वाक्य वह नहीं कहता जो आप चाहते थे, तो सहेजने से पहले इसे ठीक कर लीजिए; अधूरा या बीती हुई तारीख़ वाला शेड्यूल वैसे भी सहेजने से रुक जाता है।
  4. टाइमज़ोन चुनिए। हर टाइमज़ोन की खोजी जा सकने वाली सूची, उसके मौजूदा ऑफ़सेट के साथ, जो डिफ़ॉल्ट रूप से UTC के बजाय आपका अपना ज़ोन दिखाती है, और आपके ज़ोन तथा UTC को सबसे ऊपर पिन रखती है।
  5. वह संदेश लिखिए जो एजेंट को मिलेगा। यही वह प्रॉम्प्ट है जो चलता है - एजेंट इसे एक निर्देश की तरह पढ़ता है, बिल्कुल वैसे जैसे आपने इसे चैट में टाइप किया हो।
  6. एजेंट चुनिए और सहेज लीजिए। कार्य किसी एक एजेंट के होते हैं, और साइडबार का Scheduler बैज पूरे बेड़े में सक्रिय कार्यों की गिनती दिखाता है।

कार्यों को प्रबंधित करना

हर कार्य पर एक स्रोत-बैज लगा होता है। सहेजा गया का मतलब है कि यह यहीं बनाया गया (या किसी एजेंट ने कुछ शेड्यूल करने का अनुरोध किया)। कॉन्फ़िग का मतलब है कि यह एजेंट के अपने कॉन्फ़िगरेशन में ही पक्का बना है - आमतौर पर आपके इंस्टॉल किए गए किसी आर्किटाइप का हिस्सा। दोनों को इसी सूची से पूरी तरह सँभाला जा सकता है: रोकना, फिर से चलाना, नाम, संदेश या शेड्यूल बदलना, और मिटाना। Config कार्य वापस एजेंट के कॉन्फ़िगरेशन में लिखे जाते हैं और तुरंत लागू होते हैं।

हर कार्ड पर एक अभी चलाएँ बटन, जो शेड्यूल को नज़रअंदाज़ करते हुए कार्य को तुरंत चलाता है, और इस रन को भी बाक़ी सबकी तरह इतिहास में दर्ज करता है। अभी-अभी लिखे गए किसी कार्य को जाँचने का यह सबसे तेज़ तरीक़ा है - यह जानने के लिए सुबह 9 बजे तक मत रुकिए कि प्रॉम्प्ट अस्पष्ट था।

कार्यों को मिटाए बिना बंद किया जा सकता है, जो हर मौसमी चीज़ के लिए सही क़दम है। संपादन से किसी कार्य को आवर्ती और एक-बार के बीच भी बदला जा सकता है; बिल्डर वह फ़ील्ड अपने आप साफ़ कर देता है जो अब लागू नहीं होती।

ध्यान दें

किसी एजेंट के अपने आवर्ती कार्यों को उसके विवरण-पृष्ठ से भी बदला जा सकता है, उस शेड्यूल कार्ड में, Overview टैब पर। ये वही कार्य हैं जिन्हें Scheduler कॉन्फ़िग दिखाता है - एक ही कमरे के दो दरवाज़े।

कैलेंडर दृश्य

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

किसी भी घटना पर क्लिक करके वही कार्य-संवाद खोला जा सकता है जो Scheduler इस्तेमाल करता है - विवरण, संपादन, इतिहास, मिटाना। फ़िल्टर आवर्ती या एक-बार के कार्यों को छिपा सकते हैं, और एजेंट फ़िल्टर आपकी दिलचस्पी वाले एजेंटों तक सीमित कर देता है। आप ग्रिड से सीधे शेड्यूल भी कर सकते हैं: हर दिन का एक + बटन उस दिन 09:00 बजे के लिए एक-बार का रन पहले से भर देता है।

टकराव पकड़ने के लिए कैलेंडर बेहतर दृश्य है - तीन एजेंट सब सुबह 9 बजे रिपोर्ट कर रहे हों, या कोई सोमवार जिस पर कुछ भी न हो।

हार्टबीट जाँच

Heartbeat, scheduler का हल्का-फुल्का साथी है: आवर्ती जाँचों की एक सूची, जिसे एजेंट रनटाइम के चालू रहते हुए एक पोलिंग अंतराल पर बारी-बारी देखता है, डिफ़ॉल्ट रूप से हर घंटे। इसे चालू कीजिए और अंतराल हार्टबीट कार्ड से चुनिए, एजेंट के Overview टैब पर - बदलाव तुरंत लागू होता है, बिना पुनः चालू किए, और “सिस्टम डिफ़ॉल्ट” पूरी तैनाती की सेटिंग को अपना लेता है।

जाँचों का ख़ुद कोई डैशबोर्ड फ़ॉर्म नहीं होता। इन्हें एजेंट की checks फ़ाइल बदलकर सँभालिए, जो फ़ाइलें हिस्से में है - या, कहीं आसान तरीक़े से, चैट में एजेंट से कहकर: “रात भर वाला इम्पोर्ट पूरा हुआ या नहीं, इसकी Heartbeat जाँच जोड़ो”, “हर 15 मिनट पर Heartbeat जाँचो”, “Heartbeat पोलिंग बंद करो”। एजेंट के पास ठीक इसी काम के लिए टूल्स हैं।

जो जाँच कुछ न पाए, वह चुप रहती है। जब कोई जाँच सच में कुछ पा लेती है, तो वह आपको संदेश भेजने के बजाय डैशबोर्ड पर एक याद-दिहानी की तरह उभरती है - और यही बात बीस जाँचें रखना भी सुरक्षित बनाती है।

नियमित रिपोर्टें

कुछ रिपोर्टिंग पहले से बनी हुई है। यह Insights हिस्सा दिन के हिसाब से देखी जा सकने वाली एक कार्य-डायरी रखता है, जिसमें प्रति-एजेंट क्रमबद्ध विवरण और यह वैकल्पिक लिखा सार होता है कि असल में क्या हुआ - निपटाई गई बातचीत, पूरे हुए निर्धारित कार्य, चलाई गई जाँचें, एजेंटों के बीच काम की अदला-बदली। एक Daily / Weekly / Monthly टॉगल प्रति-दिन दृश्य और सम्मिलित रिपोर्टों के बीच बदलता है, जो हर हफ़्ते और हर महीने अपने आप बन जाती हैं।

सबसे हाल के दिन का सार भी अवलोकन पर, इस रूप में: आज के मुख्य अंश, जो हर सुबह अभी ख़त्म हुए दिन के लिए अपने आप लिखा जाता है, और साथ में एक बटन होता है जिससे आज वाला सार माँगे जाने पर दोबारा बनाया जा सकता है।

इससे आगे जो कुछ भी है वह एक निर्धारित कार्य है। “हर सोमवार सुबह 8 बजे, पिछले हफ़्ते की सपोर्ट बातचीत का सार बनाओ और टीम को ईमेल कर दो” यह एक ही प्रॉम्प्ट वाला एक कार्य है, और एजेंट के पास हर हिस्से को करने के लिए पहले से टूल्स हैं।

ऐसा कार्य लिखना जो काम करे

  • बताइए कि क्या करना है और उसे कहाँ रखना है। “प्रतिस्पर्धियों के दाम जाँचो” एजेंट को मंज़िल का अंदाज़ा लगाने के लिए छोड़ देता है। “ज्ञान-भंडार में सूचीबद्ध तीन प्रतिस्पर्धी पन्नों को जाँचो और टीम के Slack चैनल पर सार पोस्ट करो” ऐसा नहीं करता।
  • बताइए कि चुप्पी कैसी दिखनी चाहिए। निगरानी वाले कार्यों के लिए एजेंट से कहिए कि अगर बताने लायक़ कुछ न हो तो कुछ न कहे। वरना आपको हर दिन एक संदेश मिलेगा जो बस यही पुष्टि करेगा कि कुछ नहीं हुआ, और आप उस चैनल को नज़रअंदाज़ करना शुरू कर देंगे।
  • Run now से जाँचिए। फिर शेड्यूल पर भरोसा करने से पहले रन-इतिहास की प्रविष्टि और उससे बनी बातचीत पढ़ लीजिए।
  • टाइमज़ोन का ध्यान रखिए। ज़ोन हर कार्य के लिए अलग होता है। कई दफ़्तरों में फैली टीम को रिपोर्टों के लिए एक ही ज़ोन तय कर लेना चाहिए, बजाय इसके कि हर कार्य को उसे बनाने वाले की स्थानीय घड़ी पर सेट किया जाए।
  • उम्मीद रखिए कि स्वीकृतियाँ रुकी रहेंगी। अगर कोई निर्धारित रन किसी ऐसे टूल तक पहुँचता है जिसे इंसान की ज़रूरत है, तो वह रुक जाता है और अनुरोध Overview के स्वीकृति-इनबॉक्स में पहुँच जाता है - वह बिना निगरानी के आगे नहीं बढ़ता। देखिए अध्याय 8.

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