शेड्यूलर और पृष्ठभूमि कार्य
(धारा: संचालन और प्रबंधन)
1) उद्देश्य
अनुसूचक और पृष्ठभूमि कार्य मंच के गैर-उपयोगकर्ता संचालन को सुनिश्चित करते हैं: आवधिक गणना, कलाकृतियों के प्रकाशन, समाशोधन और कतार रिप्ले। उद्देश्य नियतावाद, दोष सहिष्णुता और श्रवण हैं।
2) कार्य वर्गीकरण
समय-आधारित: अनुसूचित (क्रोन/पंचांग): समाशोधन, आरटीपी विंडो बंद करना, अपलोड करना, संग्रह करना।
इवेंट-चालित: बस से ट्रिगर्स ( Supted, PriceListUpdated)।
वन-ऑफ/एड-हॉक: टीटीएल के साथ एक-ऑफ जैब्स।
लंबे समय से चल रहा है: बैकऑफ/सागा, स्ट्रीमिंग कॉम्पैक्ट।
रखरखाव: प्रमुख घुमाव, रीपैकेज, इंडेक्स, कैश वार्म-अप।
3) वास्तुकला (संदर्भ)
घटक:1. शेड्यूलर (कंट्रोल-प्लेन): स्टोर शेड्यूल, सीएएल/क्रोन, रखरखाव खिड़कियां, टाइमज़ोन, लिमिटर।
2. डिस्पैचर: प्लान → कतार (प्रति-प्राथमिकता/किरायेदार/क्षेत्र), समय सीमा, पहचान कुंजी डालता है।
3. श्रमिक: टास्क पूल के लिए स्थिर/ऑटोस्केल; दिल की धड़ कन, पट्टे।
4. कतार/बस: FIFO/प्राथमिकता, DLQ, आस्थगित संदेश।
5. लॉकर/समन्वय: वितरित ताले (पट्टे), नेता-चुनाव (रफ/जेडके/कांसुल)।
6. वॉल्ट/केएमएस: जेआईटी रहस्य, छोटा टीटीएल।
7. अवलोकन: निशान/मैट्रिक्स/लॉग, डैशबोर्ड, अलर्ट।
8. ऑडिट/वर्म: निष्पादन की अपरिवर्तनीय प्राप्तियां, मर्कल-स्लाइस।
पैटर्न: आउटबॉक्स/सीडीसी, पहचान, मुआवजा (सागा), बैकप्रेशर, सर्किट-ब्रेकर।
4) शेड्यूल: क्रोन और कैलेंडर
क्रोन v3: दूसरा/मिनट/घंटा/दिन/महीना/दिन-सप्ताह; "/5 ", रेंज, सूचियों के लिए समर्थन।
कैलेंडर/अपवाद: व्यापार कैलेंडर, मौन खिड़कियां, छुट्टियां/डीएसटी।
टाइमज़ोन: कार्य पर 'tz' रखें; किरायेदार का स्थानीय समय शुरू।
बहु-क्षेत्र: नाली/पुनर्मिलन के साथ प्रति-क्षेत्र अनुसूचियों या "लीड क्षेत्र + अनुयायियों" की प्रतियां।
5) कतारें, प्राथमिकताएं, एसएलए
प्राथमिकता वर्ग: P0 (महत्वपूर्ण), P1, P2, P3; व्यक्तिगत कार्यकर्ता पूल
SLA/डेडलाइन: 'bust _ start _ by', 'must _ find _ by'; छोड़ें - एस्केलेशन/रिट्रे।
कोटा और निष्पक्षता: कार्यों के लिए कैप/मिनट/किरायेदार, "फटने" के लिए टोकन, शोर-पड़ोसी अलगाव।
देरी/दृश्यता समय समाप्ति।
6) प्रतिस्पर्धा और रुकावटें
लीज़: ऑटो-एक्सटेंशन (दिल की धड़ कन) के साथ काम का किराया; समय - निरसन द्वारा।
Mutex/semaphores: प्रति-संसाधन (उदाहरण के लिए, "मूल्य सूची x केवल एक कार्यकर्ता लिखता है")।
शार्डिंग: 'किरायेदार/क्षेत्र/हैश (कुंजी)' द्वारा; कैश और डेटा इलाके के लिए चिपचिपा-मार्ग।
नेता-चुनाव: एक नेता "प्रणाली" नौकरियों को प्रकाशित करता है (उदाहरण के लिए, "सभी आरटीपी खिड़कियों को बंद करें"), अनुयायी - गर्म स्टैंडबाय।
7) विश्वसनीयता: रिट्राई, पहचान, मृत्यु
पहचान कुंजी: '(task_type, business_id, विंडो)'; → एक ही रसीद दोहराता है।
रेट्राई: घातीय बैक-ऑफ + जिटर, प्रयासों की सीमा, ऑन-त्रुटि रणनीति (पुनरावृत्ति/रद्द/क्षतिपूर्ति)।
जहर-गोली: एन विफलताओं के बाद डीएलक्यू में तेजी से स्थानांतरण, मालिक को सतर्क करें।
Dedup: TTL विंडो पर देखा-कैश (इन-मेमोरी + KV).
वास्तव में एक बार प्रभाव: लेनदेन लॉग/रसीदों के माध्यम से दुष्प्रभावों की पुष्टि।
8) लंबे और भारी कार्यों का प्रबंधन
चंकिंग: बैचों में टूटना, चौकियों/निरंतरता।
टाइम-बॉक्सिंग: सीपीयू/आईओ/नेटवर्क एग्रेस सीमा; प्रगति के साथ बाधित बचाया।
सागास/मुआवजा: अंतर-सेवा चरणों के लिए "पूर्ववत" शब्दार्थ।
संगोष्ठी-कैप: प्रति प्रकार/किरायेदार/क्षेत्र एक साथ कार्यों की सीमा।
9) अवलोकन और मैट्रिक्स
ट्रेस: 'ट्रेस _ आईडी', गाथा चरण, बाहरी कॉल।
मेट्रिक्स (SLI):- शुरू करने के लिए अंतराल, कतार (लंबाई, उम्र p95)।
- सफलता दर, त्रुटि-दर, पुन: प्रयास-दर।
- लेटेंसी p50/p95, समय-से-पूर्ण।
- प्रति 1k कार्यों की लागत, egress/ingress।
- डीएलक्यू दर, जहर-गोली दर।
- P0 शुरू ≤ 60 s, P1 ≤ 5 मिनट; सफलता ≥ 99। 5%; DLQ ≤ 0। 1%; ताजगी ≤ 30 s p95।
10) लेखा परीक्षा और उत्पादकता
प्राप्तियाँ: स्टार्ट/सक्सेस/त्रुटि के लिए 'रसीद _ हैश', महत्वपूर्ण प्रकारों के लिए डीएसएसई हस्ताक्षर (भुगतान, मूल्य सूची, आरटीपी)।
WORM: निष्पादन लॉग और कार्य प्रकट करना।
चेन-ऑफ-हिरासत: जिसने शेड्यूल दिया/अनुमोदित/बदल दिया; SoD जाँच करता है।
11) सुरक्षा और पहुंच
RBAC/ABAC/ReBAC: जो बनाता/अनुमोदित/रन बनाता है; SoD: "भुगतान बनाएं" ≠ "अनुमोदित करें।"
JIT रहस्य: कार्यकर्ता समस्या के दायरे में एक छोटे टीटीएल के साथ टोकन का अनुरोध करता है।
अलगाव: श्रमिक पूल प्रति-किरायेदार/क्षेत्र/ग्रिड; सैंडबॉक्स-निष्पादन।
पीआईआई स्वच्छता: मास्किंग/टोकन, प्राथमिक लॉगिंग का निषेध।
12) फिनोप्स और लागत
गणना/भंडारण/एग्रेस पर बजट/कैप-अलर्ट।
कतारों और एसएलओ द्वारा ऑटोस्केल श्रमिक।
भंडारण कक्षाएं: गर्म (7-30 दिन) → ओएलएपी (6-24 महीने) → संग्रह।
लागत-जागरूक योजना: "सस्ते घंटे" पर खिड़की लॉन्च करें, सीमा को बढ़ाएं।
13) डेटा मॉडल (सरलीकृत)
14) एपीआई अनुबंध (प्रबंधन/एकीकरण)
'POST/शेड्यूल' - एक शेड्यूल (cron/cal, tz, windows) बनाएं।
'POST/नौकरियां' - तदर्थ तदर्थ रखें; वापसी 'जॉब _ आईडी', 'रसीद _ हैश'।
'GET/जॉब्स/{ id}' - स्थिति/लॉग/रसीदें।
'POST/नौकरियां/{ id }/रद्द करें' - मुआवजे के साथ रद्द करें।
'GET/कतारें/आँकड़े' - लंबाई, लैग्स, p95।
Вебхуки: 'जॉब स्टार्टेड', 'जॉब सक्सेडेड', 'जॉबफेल्टेड', 'जॉब्सटॉडक्यू', 'SLOViolated'।
15) प्लेबुक (विशिष्ट परिदृश्य)
रीट्री-स्टॉर्म: ग्लोबल बैक-ऑफ सक्षम करें, निर्भरता टाइमआउट बढ़ाएं, सर्किट-ब्रेकर सक्षम करें, विभाजित बैच।
DLQ हिमस्खलन: स्वागत बंद करें, DLQ पार्सिंग, बफर नए कार्यों को प्राथमिकता दें।
नेता गिर गया: पुनर्मिलन, निष्क्रियता, ऑडिट द्वारा "दोहरे प्रकाशनों" का सत्यापन।
त्रिशंकु प्रदाता (PSP/KYC): रिजर्व के लिए मार्ग, मतदान/वेबहूक की आवृत्ति को कम करना, संगरोध में लेनदेन स्थानांतरित करना।
लीक हुए कार्यकर्ता रहस्य: प्रमुख निरसन, रोटेशन, 30 दिनों में "असामान्य" लॉन्च की खोज, अधिकारों की समीक्षा।
16) iGaming/fintech की विशिष्टता
भुगतान/भुगतान: रसीदों के साथ अतुल्यकालिक नौकरियां, "ग्रे" लेनदेन की संगरोध, कमी के साथ कतारों की पुनरावृत्ति।
RTP विंडोज/लिमिट: कैलेंडर क्लोजर, ड्रिफ्टिंग के दौरान बनाम सैद्धांतिक RTP, ऑटो-पॉज़प्रोमो।
मूल्य सूची/एफएक्स/कर: अनुसूचित प्रकाशन, कलाकृति संस्करण, कैश बल विकलांगता।
सहयोगी: रूपांतरण का सामंजस्य, डेडअप वेबहूक, अधिनियम/हस्ताक्षर, एस्क्रो विवाद।
17) गुणवत्ता मैट्रिक्स (नमूना सेट)
अनुसूची पालन: विंडो ≥ 99% में कार्यों का हिस्सा शुरू हुआ।
कतार लाग p95: P0 ≤ 60 c, P1 ≤ 5 मिनट।
सफलता/पुनरावृत्ति/डीएलक्यू दर: ≥ 99। 5% / ≤ 0. 4% / ≤ 0. 1%.
Idempotency त्रुटियाँ: ≤ 0। 01%.
Cost/1k नौकरियों और एग्रेस/नौकरी - बजट के भीतर।
लेखा परीक्षा पूर्णता: प्राप्तियों के साथ 100% महत्वपूर्ण कार्य।
18) RACI
19) कार्यान्वयन चेकलिस्ट
- कार्य कक्षाओं, प्राथमिकताओं और एसएलए को हाइलाइट करें; पंचांग और समय क्षेत्र परिभाषित करें।
- नेता चुनाव और शार्डिंग के साथ शेड्यूलर/डिस्पैचर/कतार/श्रमिक तैनात करें।
- पहचान, पुनर्मूल्यांकन, डीएलक्यू, मुआवजे (सागा) का परिचय दें।
- श्रमिकों के लिए RBAC/ABAC/ReBAC, SoD और JIT रहस्यों को कॉन्फ़िगर करें।
- निशान/मेट्रिक्स/लॉग, डैशबोर्ड और अलर्ट सक्षम करें; SLO и त्रुटि-बजट।
- महत्वपूर्ण प्रकारों के लिए हस्ताक्षरित बिल (DSSE) और WORM लॉग।
- ऑटोस्केल और कैप-अलर्ट (गणना/भंडारण/एग्रेस)।
- प्लेबुक: रीट्री-स्टॉर्म, डीएलक्यू हिमस्खलन, नेता की विफलता, प्रदाता गिरावट।
- टेस्ट: गेमडे प्रति प्लेबुक, देरी/त्रुटि इंजेक्शन।
- शेड्यूल, कतार रुकावटों और स्वचालन ROI की नियमित समीक्षा।
20) एफएक्यू
क्रॉन पर्याप्त क्यों नहीं है?
कतारों, पहचान, ताले और ऑडिटिंग के बिना, क्रॉन दुर्घटनाओं और समय क्षेत्रों पर टूट जाता है।
क्या समय-आधारित और घटना-चालित को जोड़ा जा सकता है?
हां: क्रॉन - कैच-अप के लिए बीमा; घटनाओं - प्रतिक्रियाशीलता के लिए
"बिल्कुल एक बार" कैसे हासिल करें?
मुख्य डीडअप, ट्रांजेक्शनल इफेक्ट्स लॉग, रसीदें और आइडेम्पोटेंट साइड इफेक्ट्स।
"लंबी" नौकरियों का क्या करना है?
चंक, चौकियां, समय-मुक्केबाजी, बाधित करने और जारी रखने की क्षमता।
बजट को "खाने" के लिए कैसे नहीं?
कतारों और एसएलओ में ऑटोस्केल, भारी नौकरियों के लिए सस्ती घड़ियां, हार्ड कैप्स एग्रेस/कंप्यूट।
सारांश: अनुसूचक और पृष्ठभूमि कार्य प्लेटफॉर्म की उत्पादन पाइपलाइन हैं। शेड्यूल और कतारें, पहचान, ताले और अवलोकन, रसीदें/ऑडिट, किरायेदार अलगाव और फिनोप्स नियंत्रण जोड़ कर, आपको किसी भी क्षेत्र और लोड में अनुमानित समय सीमा, तेजी से वसूली और कानूनी रूप से सुसंगत संचालन मिलता है।