इस्तेमाल करने की सीमा

Google Forms API एक शेयर की जाने वाली सेवा है. इसलिए, हम कोटा और सीमाएं लागू करते हैं, ताकि यह पक्का किया जा सके कि इसका इस्तेमाल सभी उपयोगकर्ता सही तरीके से करें. साथ ही, Google Workspace सिस्टम को पूरी तरह से सुरक्षित रखा जा सके.

कोटा से ज़्यादा अनुरोध करने पर, आपको आम तौर पर 429: Too many requests एचटीटीपी स्टेटस कोड का जवाब मिलेगा. अगर ऐसा होता है, तो आपको एक्सपोनेंशियल बैकऑफ़ एल्गोरिदम का इस्तेमाल करना चाहिए और बाद में फिर से कोशिश करनी चाहिए. अगर आपने हर मिनट के लिए तय किए गए कोटे के मुताबिक अनुरोध किए, तो हर दिन अनुरोध करने की कोई सीमा नहीं है.

ध्यान दें: फ़ॉर्म वॉच के लिए कुछ और सीमाएं हैं. ज़्यादा जानकारी के लिए, पुश नोटिफ़िकेशन सेट अप करना और उन्हें पाना लेख पढ़ें.

अनुरोध की सीमाओं के बारे में यहां दी गई टेबल में बताया गया है:

कोटा
अनुरोधों को पढ़ना
हर प्रोजेक्ट के लिए हर दिन अनलिमिटेड
हर प्रोजेक्ट के हिसाब से हर मिनट 975
हर प्रोजेक्ट के लिए, हर उपयोगकर्ता के हिसाब से हर मिनट का शुल्क 390
ज़्यादा कीमत वाले रीड रिक्वेस्ट

(forms.responses.list अनुरोधों के लिए इस्तेमाल किया जाता है.)

हर प्रोजेक्ट के लिए हर दिन अनलिमिटेड
हर प्रोजेक्ट के हिसाब से हर मिनट 450
हर प्रोजेक्ट के लिए, हर उपयोगकर्ता के हिसाब से हर मिनट का शुल्क 180
अनुरोध लिखना
हर प्रोजेक्ट के लिए हर दिन अनलिमिटेड
हर प्रोजेक्ट के हिसाब से हर मिनट 375
हर प्रोजेक्ट के लिए, हर उपयोगकर्ता के हिसाब से हर मिनट का शुल्क 150

समय के हिसाब से कोटा से जुड़ी गड़बड़ियां ठीक करना

समय के हिसाब से होने वाली सभी गड़बड़ियों (हर X मिनट में ज़्यादा से ज़्यादा N अनुरोध) के लिए, हमारा सुझाव है कि आपका कोड अपवाद को पकड़ ले और ट्रिप्टेड एक्सपोनेंशियल बैकऑफ़ का इस्तेमाल करे. इससे यह पक्का किया जा सकेगा कि आपके डिवाइसों पर ज़्यादा लोड न जनरेट हो.

एक्सपोनेंशियल बैकऑफ़, नेटवर्क ऐप्लिकेशन के लिए गड़बड़ी को मैनेज करने की स्टैंडर्ड रणनीति है. एक्सपोनेंशियल बैकऑफ़ एल्गोरिदम, अनुरोधों के बीच एक्सपोनेंशियल तौर पर बढ़ते इंतज़ार के समय का इस्तेमाल करके, अनुरोधों को फिर से भेजता है. यह ऐसा तब तक करता है, जब तक कि बैकऑफ़ का ज़्यादा से ज़्यादा समय नहीं हो जाता. अगर अनुरोध अब भी पूरा नहीं हो पा रहा है, तो यह ज़रूरी है कि अनुरोध पूरा होने तक, अनुरोधों के बीच का समय धीरे-धीरे बढ़ता रहे.

एल्गोरिदम का उदाहरण

एक्सपोनेंशियल बैकऑफ़ एल्गोरिदम, अनुरोधों को एक्सपोनेंशियल तरीके से दोबारा भेजता है. इससे, दोबारा भेजे जाने के बीच इंतज़ार का समय बढ़ जाता है. यह इंतज़ार का समय, बैकऑफ़ के ज़्यादा से ज़्यादा समय तक हो सकता है. उदाहरण के लिए:

  1. Google Forms API से अनुरोध करें.
  2. अगर अनुरोध पूरा नहीं होता है, तो 1 + random_number_milliseconds इंतज़ार करें और फिर से अनुरोध करें.
  3. अगर अनुरोध पूरा नहीं होता है, तो दो random_number_milliseconds मिनट इंतज़ार करें और फिर से अनुरोध करें.
  4. अगर अनुरोध पूरा नहीं होता है, तो चार random_number_milliseconds के बाद फिर से कोशिश करें.
  5. और ऐसा ही maximum_backoff बार तक किया जा सकता है.
  6. इंतज़ार करना जारी रखें और तय की गई संख्या तक फिर से कोशिश करें. हालांकि, फिर से कोशिश करने के बीच इंतज़ार करने की अवधि को बढ़ाएं नहीं.

कहां:

  • इंतज़ार का समय 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 Forms API का इस्तेमाल, बिना किसी शुल्क के किया जा सकता है. कोटा के अनुरोध की सीमाओं से ज़्यादा अनुरोध करने पर, आपसे कोई अतिरिक्त शुल्क नहीं लिया जाता और आपके खाते का बिल भी नहीं भेजा जाता.

कोटा बढ़ाने का अनुरोध करना

अपने प्रोजेक्ट के संसाधनों के इस्तेमाल के आधार पर, आपके पास कोटा बढ़ाने का अनुरोध करने का विकल्प होता है. सेवा खाते से किए गए एपीआई कॉल को एक ही खाते का इस्तेमाल करने वाला माना जाता है. ज़्यादा कोटा के लिए आवेदन करने से, मंज़ूरी मिलने की गारंटी नहीं मिलती. कोटा को बहुत ज़्यादा बढ़ाने पर, अनुमति मिलने में ज़्यादा समय लग सकता है.

सभी प्रोजेक्ट के लिए कोटा एक जैसा नहीं होता. समय के साथ Google Cloud का ज़्यादा से ज़्यादा इस्तेमाल करने पर, हो सकता है कि आपके कोटे बढ़ाने पड़ें. अगर आपको आने वाले समय में, कोटा में बदलाव करने का अनुरोध करना है, तो Google Cloud Console में कोटा पेज पर जाएं.

ज़्यादा जानने के लिए, नीचे दिए गए लेख पढ़ें: