Google Docs API, शेयर की जाने वाली सेवा है. इसलिए, हम कोटा और सीमाएं लागू करते हैं, ताकि यह पक्का किया जा सके कि इसका इस्तेमाल सभी उपयोगकर्ता सही तरीके से कर रहे हैं. साथ ही, Google Workspace सिस्टम को बेहतर बनाए रखा जा सके.
कोटा से ज़्यादा अनुरोध करने पर, आपको आम तौर पर 429: Too many requests
एचटीटीपी स्टेटस कोड वाला जवाब मिलेगा. अगर ऐसा होता है, तो आपको
एक्सपोनेंशियल बैकऑफ़ एल्गोरिदम का इस्तेमाल करना चाहिए और कुछ देर बाद कोशिश
करनी चाहिए.
अनुरोध की सीमाओं के बारे में यहां दी गई टेबल में बताया गया है:
कोटा | |||||
---|---|---|---|---|---|
अनुरोधों को पढ़ना |
|
||||
अनुरोध लिखना |
|
समय के हिसाब से कोटा से जुड़ी गड़बड़ियां ठीक करना
हमारा सुझाव है कि समय के हिसाब से होने वाली सभी गड़बड़ियों (हर X मिनट में ज़्यादा से ज़्यादा N अनुरोध) के लिए, हमारा सुझाव है कि आपका कोड इस अपवाद को समझ सके. साथ ही, यह पक्का करने के लिए कि आपके डिवाइस पर बहुत ज़्यादा लोड न हो, कटौती के हिसाब से एक्सपोनेन्शियल बैकऑफ़ का इस्तेमाल करता है.
एक्सपोनेंशियल बैकऑफ़, नेटवर्क ऐप्लिकेशन के लिए गड़बड़ी को मैनेज करने की स्टैंडर्ड रणनीति है. एक्सपोनेंशियल बैकऑफ़ एल्गोरिदम, अनुरोधों के बीच एक्सपोनेंशियल तौर पर बढ़ते इंतज़ार के समय का इस्तेमाल करके, अनुरोधों को फिर से भेजता है. यह ऐसा तब तक करता है, जब तक कि बैकऑफ़ का ज़्यादा से ज़्यादा समय नहीं हो जाता. अगर अनुरोध अब भी पूरा नहीं हो पा रहा है, तो यह ज़रूरी है कि अनुरोध पूरा होने तक, अनुरोधों के बीच का समय धीरे-धीरे बढ़ता रहे.
एल्गोरिदम का उदाहरण
एक्स्पोनेंशियल बैकऑफ़ एल्गोरिदम, अनुरोधों को तेज़ी से फिर से कोशिश करता है. इससे, इस प्रोसेस के बीच ज़्यादा से ज़्यादा बैकऑफ़ समय तक इंतज़ार का समय बढ़ जाता है. उदाहरण के लिए:
- Google Docs API को अनुरोध करें.
- अगर अनुरोध फ़ेल हो जाता है, तो 1 +
random_number_milliseconds
इंतज़ार करें और फिर से अनुरोध करें. - अगर अनुरोध पूरा नहीं होता है, तो दो
random_number_milliseconds
मिनट इंतज़ार करें और फिर से अनुरोध करें. - अगर अनुरोध पूरा नहीं होता है, तो चार
random_number_milliseconds
के बाद फिर से कोशिश करें. - इसी तरह, एक
maximum_backoff
बार तक. - इंतज़ार करना जारी रखें और तय की गई संख्या तक फिर से कोशिश करें. हालांकि, फिर से कोशिश करने के बीच इंतज़ार करने की अवधि को बढ़ाएं नहीं.
कहां:
- इंतज़ार का समय
min(((2^n)+random_number_milliseconds), maximum_backoff)
है. हर बार (अनुरोध) के लिए,n
में एक की बढ़ोतरी होती है. random_number_milliseconds
, 1,000 से कम या इसके बराबर की कोई संख्या होती है. इससे उन मामलों से बचने में मदद मिलती है जिनमें कई क्लाइंट किसी वजह से सिंक हो जाते हैं और सभी एक साथ फिर से कोशिश करते हैं. साथ ही, सिंक किए गए अनुरोधों को एक साथ भेजते हैं. फिर से कोशिश करने के हर अनुरोध के बाद,random_number_milliseconds
की वैल्यू का फिर से हिसाब लगाया जाता है.- आम तौर पर,
maximum_backoff
की अवधि 32 या 64 सेकंड होती है. सही वैल्यू, इस्तेमाल के उदाहरण पर निर्भर करती है.
maximum_backoff
समय खत्म होने के बाद भी, क्लाइंट फिर से कोशिश कर सकता है.
इसके बाद, कोशिश करने के लिए बैकऑफ़ समय को लगातार बढ़ाने की ज़रूरत नहीं है. उदाहरण के लिए, अगर कोई क्लाइंट maximum_backoff
के लिए 64 सेकंड का समय इस्तेमाल करता है, तो इस वैल्यू तक पहुंचने के बाद, क्लाइंट हर 64 सेकंड में फिर से कोशिश कर सकता है. किसी समय, क्लाइंट को बार-बार कोशिश करने से रोका जाना चाहिए.
फिर से कोशिश करने के बीच का इंतज़ार समय और फिर से कोशिश करने की संख्या, आपके इस्तेमाल के उदाहरण और नेटवर्क की स्थितियों पर निर्भर करती है.
कीमत
Google Docs API का इस्तेमाल बिना किसी शुल्क के किया जा सकता है. कोटा से ज़्यादा अनुरोध करने की सीमा से ज़्यादा शुल्क नहीं लिया जाता है और न ही आपके खाते को बिल भेजा जाता है.
कोटा बढ़ाने का अनुरोध करना
अपने प्रोजेक्ट के संसाधनों के इस्तेमाल के आधार पर, आपके पास कोटा बढ़ाने का अनुरोध करने का विकल्प होता है. सेवा खाते से किए गए एपीआई कॉल को एक ही खाते का इस्तेमाल करने वाला माना जाता है. ज़्यादा कोटा के लिए आवेदन करने से, मंज़ूरी मिलने की गारंटी नहीं मिलती. कोटा की सीमा ज़्यादा होने पर, अनुमति मिलने में ज़्यादा समय लग सकता है.
सभी प्रोजेक्ट के कोटा एक जैसे नहीं होते. समय के साथ Google Cloud का ज़्यादा से ज़्यादा इस्तेमाल करने पर, हो सकता है कि आपके कोटे बढ़ाने पड़ें. अगर आपको लगता है कि आने वाले समय में, इसका इस्तेमाल और ज़्यादा बढ़ जाएगा, तो Google Cloud Console में कोटा पेज पर जाकर, कोटा में बदलाव करने का अनुरोध किया जा सकता है.
ज़्यादा जानकारी के लिए, इन संसाधनों को देखें:
- कोटा बढ़ाने के अनुरोधों के बारे में जानकारी
- अपने मौजूदा कोटा के इस्तेमाल और सीमाओं को देखना
- ज़्यादा कोटा पाने का अनुरोध करना