गाइड · सर्विस बिज़नेस का कामकाज
जब वर्कफ़्लो दो बार चल जाए या बीच में फ़ेल हो जाए तो क्या होता है?
डुप्लिकेट, दोहराई गई मंज़ूरी और फ़ेल कनेक्शन के असली नतीजे देखें, फिर जानें कि असली रिकवरी डिज़ाइन को और क्या चाहिए।
लेखक: Fireflax · 8 मिनट में पढ़ें
समीक्षक: Codex — source and implementation review ·
दोबारा कोशिश करने से पहले पता होना चाहिए कि क्या हो चुका है।
एक पूछताछ दो बार आ सकती है। कोई व्यक्ति दो बार मंज़ूरी दे सकता है। वर्कफ़्लो का कुछ हिस्सा चलने के बाद कनेक्शन फ़ेल हो सकता है। ये अलग-अलग हालात हैं: कुछ भी दोहराने से पहले रिक्वेस्ट, इच्छित काम और उसके नतीजे का सबूत पहचानें।
यहाँ इस्तेमाल किया गया उदाहरण
यह गाइड काल्पनिक Northstar Plumbing पूछताछ सैंपल इस्तेमाल करती है, जिसे 8 अक्टूबर 2026 को जाँचा गया। इसके नियम और टेम्पलेट लोकल रूप से चलते हैं। कोई ईमेल, CRM में लिखना या लाइव कनेक्शन नहीं है। इसका कनेक्शन-फ़ेल वाला स्विच एक नियंत्रित नकल है, प्रोडक्शन आउटेज का टेस्ट नहीं।
सैंपल रिकॉर्ड बनाए रखता है और फिर से पूछता है।
Received → आपकी मंज़ूरी चाहिए
मंज़ूरी सफल → डेमो पूरा हुआ, या जानकारी छूटी हो तो जानकारी का इंतज़ार।
नकली फ़ेलियर → कनेक्शन रुका हुआ है
उदाहरण कनेक्शन वापस चालू करें → आपकी मंज़ूरी चाहिए → ड्राफ़्ट पढ़ें → फिर से मंज़ूर करें।
ब्राउज़र डेमो में रीसेट करें और नया काम चलाएँ। इस मंज़ूरी पर फ़ेल कनेक्शन आज़माएँ चुनें, फिर डेमो जवाब को मंज़ूरी दें दबाएँ। कनेक्शन रुका हुआ है और उसका इतिहास देखें। उदाहरण कनेक्शन वापस चालू करें चुनें, टेक्स्ट फिर से जाँचें और मंज़ूर करें। रीस्टोर बटन फ़ेलियर वाला चेकबॉक्स हटा देता है, ताकि अगली मंज़ूरी से सैंपल पूरा हो सके।
डेमो में फ़ेलियर और रीस्टोर दोहराएँक्या बना रहता है, और क्या दोहराया नहीं जा सकता?
| रास्ता | उम्मीद | देखा गया |
|---|---|---|
| वही रिक्वेस्ट फिर से | मौजूदा कतार में नॉर्मलाइज़ किए गए ईमेल, इलाके और मैसेज को पहचानें। | मौजूदा ID लौटी; कोई अतिरिक्त टास्क या इतिहास नहीं। बदले हुए शब्द नई रिक्वेस्ट बन सकते हैं। |
| फिर से मंज़ूरी | सिर्फ़ रिव्यू का इंतज़ार कर रहा रिकॉर्ड ही मंज़ूरी लेता है। | पूरा हो चुका, रुका हुआ या जानकारी का इंतज़ार कर रहा रिकॉर्ड सीधे दोबारा मंज़ूर नहीं हो सकता। |
| फ़ेल हुई मंज़ूरी | रिकवरी जाँचने लायक पूरा संदर्भ बना रहे। | वही रिकॉर्ड, मूल इनपुट, ड्राफ़्ट, मंज़ूर टेक्स्ट और इतिहास रुकी हुई स्थिति में बने रहे। |
| रीस्टोर | अपने-आप दोबारा चलाने के बजाय नया रिव्यू ज़रूरी हो। | वही रिकॉर्ड और ड्राफ़्ट बना रहा; पिछली मंज़ूरी हटी; स्थिति रिव्यू में लौटी। |
वही रिक्वेस्ट फिर से
उम्मीद: मौजूदा कतार में नॉर्मलाइज़ किए गए ईमेल, इलाके और मैसेज को पहचानें।
देखा गया: मौजूदा ID लौटी; कोई अतिरिक्त टास्क या इतिहास नहीं। बदले हुए शब्द नई रिक्वेस्ट बन सकते हैं।
फिर से मंज़ूरी
उम्मीद: सिर्फ़ रिव्यू का इंतज़ार कर रहा रिकॉर्ड ही मंज़ूरी लेता है।
देखा गया: पूरा हो चुका, रुका हुआ या जानकारी का इंतज़ार कर रहा रिकॉर्ड सीधे दोबारा मंज़ूर नहीं हो सकता।
फ़ेल हुई मंज़ूरी
उम्मीद: रिकवरी जाँचने लायक पूरा संदर्भ बना रहे।
देखा गया: वही रिकॉर्ड, मूल इनपुट, ड्राफ़्ट, मंज़ूर टेक्स्ट और इतिहास रुकी हुई स्थिति में बने रहे।
रीस्टोर
उम्मीद: अपने-आप दोबारा चलाने के बजाय नया रिव्यू ज़रूरी हो।
देखा गया: वही रिकॉर्ड और ड्राफ़्ट बना रहा; पिछली मंज़ूरी हटी; स्थिति रिव्यू में लौटी।
रीस्टोर के बाद भी छूटी जानकारी छूटी ही रहती है। अगर रिकवरी के बाद अधूरी पूछताछ मंज़ूर की जाए, तो वह जानकारी का इंतज़ार में लौट जाती है। दोबारा कोशिश करने से न कोई इलाका अपने-आप बनता है, न बुकिंग कन्फ़र्म होती है, न ग्राहक का जवाब मिलता है।
असली आधा-अधूरा फ़ेलियर ज़्यादा मुश्किल होता है।
मान लीजिए एक जुड़ा हुआ वर्कफ़्लो जॉब रिकॉर्ड अपडेट करता है, फिर लोकल रूप से सफलता दर्ज करने से पहले उसकी पुष्टि खो देता है। मंज़िल बदल जाने के बावजूद उसकी लोकल स्थिति अनिश्चित हो सकती है। पूरा वर्कफ़्लो दोहराने से बाहरी असर भी दोहराया जा सकता है।
यह प्रोडक्शन का एक काल्पनिक मामला है; Fireflax सैंपल इसकी नकल नहीं करता। असली इम्प्लीमेंटेशन में रिक्वेस्ट और इच्छित कामों के टिकाऊ पहचान नंबर, नतीजों का सहेजा गया रिकॉर्ड, मंज़िल की जाँच और अनिश्चित नतीजों के लिए एक नियम चाहिए। सिर्फ़ ब्राउज़र मेमोरी और मैसेज टेक्स्ट का मिलान काफ़ी नहीं है।
ऑफ़लाइन स्टार्टर एक लोकल फ़ाइल सँभालकर रखता है और रोकने का साफ़ कमांड देता है, लेकिन यह अब भी एक ही प्रोसेस वाला अभ्यास है। इससे एक साथ सुरक्षित दोबारा कोशिश, बिल्कुल-एक-बार डिलीवरी, प्रोडक्शन अपटाइम या सिस्टमों के पार रोलबैक साबित नहीं होता।
यह रिकवरी चेकलिस्ट इस्तेमाल करें।
- रोकें और सँभालें। तय तरीके से संबंधित वर्कफ़्लो रोकें। रिक्वेस्ट, वर्ज़न, एरर और नतीजे का सबूत रखें।
- मंज़िल जाँचें। देखें कि मैसेज, रिकॉर्ड या दूसरा इच्छित बदलाव हुआ या नहीं। इसे हो गया, नहीं हुआ या अनिश्चित में रखें।
- बिना देखे दोबारा न भेजें। ज़िम्मेदार व्यक्ति और सिस्टम के सबूत से अनिश्चितता दूर करें। रिक्वेस्ट/काम के पहचान नंबर और डुप्लिकेट नियम जाँचें।
- परमिशन के ज़िम्मेदार के साथ रीस्टोर करें। ज़रूरत हो तो असली कनेक्शन ठीक करें या दोबारा ऑथराइज़ करें। एक्सेस वापस मिलने का मतलब हर काम दोबारा चलाने की इजाज़त नहीं है।
- फिर से जाँचें। ताज़ा रिक्वेस्ट और बदली हुई बातचीत, ड्राफ़्ट या संपर्क की पसंद फिर से देखें। जहाँ ज़रूरी हो, नई मंज़ूरी लें।
- एक इच्छित नतीजे की पुष्टि करें। सिर्फ़ मंज़ूर किया गया अगला काम करें, उसका नतीजा जाँचें और सामान्य काम फिर शुरू करने से पहले दर्ज करें कि क्या हुआ।
इन स्टेप्स के लिए ज़िम्मेदार और बैकअप व्यक्ति का नाम तय करें। अंदरूनी रिकॉर्ड रीसेट करने से पहले से भेजा गया मैसेज वापस नहीं आता। किसी भी सुधार या पलटने के लिए अपनी अलग परमिशन और कन्फ़र्म की गई सीमाएँ चाहिए।
सबूत को हैंडओवर के साथ रखें।
सहेजे गए सोर्स और स्टार्टर रन में पाँच-पाँच तय केस शामिल हैं, जिनमें दोहराई गई मंज़ूरी और फ़ेल मंज़ूरी/रिकवरी भी हैं। ये बनावटी इनपुट, सटीक स्थितियाँ और इतिहास दर्ज करते हैं। रिपॉज़िटरी का अलग 21 टेस्ट वाला सूट छूटी जानकारी की रिकवरी भी जाँचता है। ये सीमित जाँचें ऊपर बताई बातों का समर्थन करती हैं; ये डिलीवरी की गारंटी नहीं हैं।
स्रोत और समीक्षा नोट्स
Codex के साथ लिखा गया और चलाए गए काल्पनिक सैंपल टेस्ट, सोर्स कोड और Codex के एक अलग स्टार्टर अभ्यास से जाँचा गया। ये नतीजे किसी लाइव इंटीग्रेशन या ग्राहक के नतीजे को साबित नहीं करते।
- सहेजा गया सोर्स टेस्ट
लोकल डुप्लिकेट और रिकवरी के असली नतीजे।
- स्टार्टर README
जाँचने लायक कोड, दोबारा चलाने के कमांड और सीमाएँ।