यदि Meshy API को कॉल करते समय आपका इंटीग्रेशन 429, RateLimitExceeded, या NoMoreConcurrentTasks त्रुटियों का सामना कर रहा है, तो यह गाइड समझाती है कि ये सीमाएँ क्यों मौजूद हैं और इनके भीतर काम करने के लिए अपना इंटीग्रेशन कैसे डिज़ाइन करें।
रेट लिमिट क्यों मौजूद हैं
Meshy का API साझा GPU कंप्यूट के सामने स्थित है, जिसका उपयोग 3D मॉडल, टेक्सचर और संबंधित एसेट बनाने के लिए किया जाता है। रेट लिमिट और कंकरेंसी कैप उस साझा इंफ्रास्ट्रक्चर की सुरक्षा करते हैं ताकि प्लेटफ़ॉर्म के हर उपयोगकर्ता के लिए जेनरेशन की गुणवत्ता और समय सुसंगत रहे। प्रत्येक खाते के पास, उसके वर्तमान प्लान के आधार पर, किसी दिए गए समय अवधि में किए जा सकने वाले अनुरोधों की अधिकतम संख्या और एक साथ चलाए जा सकने वाले (कतार में या प्रगति पर) जेनरेशन टास्क की अधिकतम संख्या होती है।
अनुरोध सीमा बनाम कतार/कंकरेंसी सीमा
दो अलग-अलग सीमाएँ हैं, और ये अलग-अलग तरीके से विफल होती हैं:
अनुरोध दर सीमा (429 / RateLimitExceeded): यह सीमित करती है कि आप प्रति मिनट कितने API कॉल (जैसे टास्क निर्माण, स्थिति पोलिंग) कर सकते हैं। इससे अधिक होने का मतलब है कि आप बहुत अधिक बार API को कॉल कर रहे हैं, चाहे कितने भी टास्क वास्तव में चल रहे हों।
कंकरेंसी / कतार सीमा (NoMoreConcurrentTasks): यह सीमित करती है कि आप एक साथ कितने जेनरेशन टास्क कतार में या प्रोसेसिंग में रख सकते हैं। इससे अधिक होने का मतलब है कि आपके पास पहले से अधिकतम सक्रिय टास्क हैं और आपको दूसरा सबमिट करने से पहले किसी एक के पूरा होने की प्रतीक्षा करनी होगी।
अपने Meshy डैशबोर्ड में अपने प्लान की वर्तमान अनुरोध और कंकरेंसी सीमाएँ देखें, क्योंकि ये प्लान टियर के अनुसार भिन्न हो सकती हैं।
429 त्रुटियों के लिए बैकऑफ़ रणनीति
जब आपको 429 या RateLimitExceeded प्रतिक्रिया मिले, तो उसी अनुरोध को तुरंत पुनः प्रयास न करें। इसके बजाय:
एक्सपोनेंशियल बैकऑफ़ का उपयोग करें: एक छोटे अंतराल की प्रतीक्षा करें, फिर प्रत्येक अगली विफलता पर इसे दोगुना करते जाएँ, एक उचित अधिकतम सीमा तक।
अपने बैकऑफ़ अंतराल में जिटर (एक छोटा यादृच्छिक ऑफ़सेट) जोड़ें ताकि आपके सिस्टम के कई वर्कर एक ही क्षण पर पुनः प्रयास न करें।
प्रतिक्रिया में दिए गए किसी भी Retry-After या रेट-लिमिट हेडर का सम्मान करें, यदि मौजूद हों, बजाय इसके कि आप स्वयं प्रतीक्षा समय का अनुमान लगाएँ।
प्रति अनुरोध पुनः प्रयासों की संख्या सीमित करें ताकि लगातार विफलता अनंत लूप में न फँसे।
कंकरेंसी सीमाओं के अनुसार योजना बनाना
NoMoreConcurrentTasks त्रुटि का मतलब है कि आप पहले से अपने खाते की सक्रिय टास्क सीमा पर हैं। प्रोडक्शन में इससे बचने के लिए:
अपने एप्लिकेशन में एक स्थानीय कतार या जॉब शेड्यूलर बनाए रखें जो तभी नया जेनरेशन टास्क सबमिट करे जब पिछला टास्क पूरा हो गया हो या आपकी सक्रिय संख्या सीमा से नीचे आ गई हो।
टास्क की स्थिति पोल करें (या वेबहुक का उपयोग करें, यदि आपके वर्कफ़्लो में समर्थित हो) यह जानने के लिए कि स्लॉट कब खाली होता है, बजाय अनुमान लगाकर सबमिट करने के।
सभी अनुरोध एक साथ भेजने के बजाय बल्क जेनरेशन जॉब्स को बैच और थ्रॉटल करें — इससे आपकी अनुरोध दर और समवर्ती टास्क संख्या दोनों सुचारू रहती हैं।
अपनी ओर से मॉनिटरिंग/अलर्टिंग बनाएँ ताकि 429/NoMoreConcurrentTasks त्रुटियों में वृद्धि आपके उपयोगकर्ताओं को प्रभावित करने से पहले दिखाई दे।
विफल या असंतोषजनक जेनरेशन को पुनः प्रयास करना
Meshy API वर्तमान में व्यक्तिगत या स्टूडियो प्लान के लिए मौजूदा जेनरेशन का अंतर्निहित "रीट्राई" समर्थन नहीं करता — यदि कोई परिणाम आपकी अपेक्षाओं पर खरा नहीं उतरता, तो आप एक नया जेनरेशन अनुरोध सबमिट करते हैं, जो सामान्य रूप से क्रेडिट का उपभोग करता है। जब आपका स्वचालित पाइपलाइन अस्थायी त्रुटियों (जैसे 429) को संभालता है, तो सुनिश्चित करें कि आपका रीट्राई लॉजिक केवल बैकऑफ़ के बाद मूल अनुरोध दोबारा भेजता है, न कि हर बार डुप्लिकेट जेनरेशन टास्क बनाता है।
अपना प्लान अपग्रेड करने पर कब विचार करें
यदि आपने बैकऑफ़ और कंकरेंसी-जागरूक कतार लागू कर ली है और फिर भी लगातार रेट या कंकरेंसी सीमाओं से टकरा रहे हैं, तो यह आमतौर पर संकेत है कि आपके इंटीग्रेशन की थ्रूपुट आवश्यकताएँ आपके वर्तमान प्लान की सीमाओं से बढ़ गई हैं। अपने डैशबोर्ड में अपने वर्तमान प्लान की अनुरोध और कंकरेंसी सीमाएँ देखें, और यदि आपको लगातार अधिक थ्रूपुट की आवश्यकता है तो अपग्रेड करने या एंटरप्राइज़-स्तरीय API एक्सेस के बारे में Meshy सेल्स टीम से संपर्क करने पर विचार करें।
FAQ
1. 429 या RateLimitExceeded त्रुटि का क्या अर्थ है?
इसका मतलब है कि आपने अपने प्लान के लिए किसी दिए गए समय अवधि में अनुमत API अनुरोधों की संख्या पार कर दी है। अपनी अनुरोध दर धीमी करें और पुनः प्रयास से पहले एक्सपोनेंशियल बैकऑफ़ का उपयोग करें।
2. NoMoreConcurrentTasks का क्या अर्थ है?
इसका मतलब है कि आपके खाते के लिए पहले से ही अधिकतम जेनरेशन टास्क कतार में या प्रगति पर हैं। और अधिक सबमिट करने से पहले किसी मौजूदा टास्क के पूरा होने की प्रतीक्षा करें, या एक साथ सबमिट किए जाने वाले टास्क की संख्या घटाएँ।
3. मैं अपने खाते की रेट और कंकरेंसी सीमाएँ कैसे जानूँ?
अपने Meshy डैशबोर्ड में अपने वर्तमान प्लान से जुड़ी सीमाएँ देखें, क्योंकि ये प्लान टियर के बीच भिन्न हो सकती हैं।
4. क्या Meshy जेनरेशन टास्क के लिए स्वचालित रीट्राई का समर्थन करता है?
नहीं, व्यक्तिगत या स्टूडियो प्लान के लिए नहीं — विफल या असंतोषजनक जेनरेशन को नए अनुरोध के रूप में दोबारा सबमिट किया जाना चाहिए, जो सामान्य रूप से क्रेडिट का उपयोग करता है। एंटरप्राइज़ ग्राहक रीट्राई सुविधा के बारे में सेल्स से संपर्क करें।
5. प्रोडक्शन पाइपलाइन में इन त्रुटियों से बचने का सबसे अच्छा तरीका क्या है?
एक स्थानीय कतार लागू करें जो सबमिशन को थ्रॉटल करके आपकी कंकरेंसी सीमा के भीतर रखे, किसी भी 429 प्रतिक्रिया के लिए जिटर के साथ एक्सपोनेंशियल बैकऑफ़ जोड़ें, और त्रुटि दरों की निगरानी करें ताकि वे आपके उपयोगकर्ताओं को प्रभावित करने से पहले आप प्रतिक्रिया दे सकें।
6. रेट लिमिट के कारण मुझे अपना प्लान कब अपग्रेड करना चाहिए?
यदि आपने पहले से बैकऑफ़ और कंकरेंसी-जागरूक कतार लागू कर ली है और फिर भी नियमित रूप से इन सीमाओं से टकरा रहे हैं, तो संभवतः आपका उपयोग आपके वर्तमान प्लान से बढ़ गया है — अपना डैशबोर्ड देखें या अधिक थ्रूपुट वाले प्लान के बारे में सेल्स से संपर्क करें।
संबंधित आलेख