गाइड

वेबहुक के बिना बड़े बैच जॉब के लिए पोलिंग सेट करें

कुछ API बड़े बैच के लिए एक जॉब ID लौटाती हैं और उम्मीद करती हैं कि जब तक वह बैकग्राउंड में प्रोसेस हो, आप पोल करें या webhook का इंतज़ार करें। यह API इस तरह काम नहीं करती। हर बल्क अनुरोध, बड़ा हो या छोटा, उसी कॉल में सिंक्रोनस रूप से जवाब पाता है, जिससे यह बदल जाता है कि आपको बहुत बड़ा काम चलाने के बारे में कैसे सोचना चाहिए।

कतार की जगह हिस्सों में बाँटना

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

POST /v1/forward
Content-Type: application/json

["address 1", "address 2", "... up to a few hundred items"]

यहाँ "पोलिंग" का असल मतलब क्या है

इस व्यवस्था में पोलिंग के सबसे करीब की चीज़ जॉब स्टेटस जाँचने के बजाय हिस्सों के बीच अपने कोटा हेडर जाँचना है। हर हिस्सा पूरा होने के बाद X-Quota-Free-Remaining और X-Credits-Remaining पढ़ें, और अगर आप जारी रखने लायक प्रीपेड क्रेडिट के बिना अपने प्रतिदिन मुफ़्त कोटे से आगे जाने वाले हैं, तो काम रोकें या बंद कर दें।

X-Quota-Free-Remaining: 340
X-Credits-Remaining: 12.50

एक सरल रनर बनाना

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

रुकने के बाद दोबारा शुरू करना

ट्रैक करें कि अब तक आपने किस हिस्से के इंडेक्स तक सफलतापूर्वक प्रोसेस किया है, ताकि कोटा रीसेट या क्रेडिट रिचार्ज के लिए रुकने के बाद काम ठीक वहीं से शुरू हो जहाँ छूटा था, बजाय पहले के हिस्सों को दोबारा प्रोसेस करने और अनुरोध दो बार खर्च करने के।

इसकी लागत क्या है

लागत दोनों ही तरह से एक जैसी है, पूरे काम में हर आइटम के लिए एक अनुरोध। हिस्सों में बाँटने का तरीका सिर्फ़ यह बदलता है कि आप काम को कैसे संभालते हैं, यह नहीं कि उसमें कुल कितने अनुरोध लगते हैं।

किसी बड़े काम को, यहाँ मौजूद न होने वाले async जॉब सिस्टम को खोजने के बजाय, सामान्य सिंक्रोनस हिस्सों के क्रम के रूप में देखना पूरी चीज़ को सरल रखता है। रेट लिमिट दस्तावेज़ उन कोटा हेडर के बारे में बताते हैं जिन पर यह पैटर्न चलता है।