Calendar API शेयर की गई सेवा है, इसलिए कोटा लागू होता है. इससे, यह पक्का किया जा सकता है कि सभी उपयोगकर्ता सही तरीके से इसका इस्तेमाल कर रहे हैं. अगर आप तेज़ी से बहुत सारे लेख लिखते हैं, तो हो सकता है कि आपकी रेटिंग सीमित हो. ज़्यादा जानकारी के लिए, Calendar के इस्तेमाल से जुड़ी सामान्य सीमाएं देखें. इसके अलावा, Calendar API के लिए दो उपयोगी कोटा हैं:
- हर मिनट के हिसाब से प्रोजेक्ट: यह आपके पूरे प्रोजेक्ट से किए गए अनुरोधों की संख्या है. अगर आपके प्रोजेक्ट में बहुत सारे उपयोगकर्ता हैं, तो इसमें बढ़ोतरी हो सकती है.
- हर उपयोगकर्ता के लिए एक मिनट का प्रोजेक्ट: यह किसी एक खास उपयोगकर्ता के आपके प्रोजेक्ट से किए गए अनुरोधों की संख्या है (अनुरोध पूरा करने वाले उपयोगकर्ता या सेवा खाते का नहीं, बल्कि वह उपयोगकर्ता जिसके पास कैलेंडर का मालिकाना हक है). आम तौर पर, इसे नहीं बढ़ाया जा सकता, इसलिए एपीआई का बेहतर तरीके से इस्तेमाल करना ज़रूरी है.
अगर कोई कोटा पूरा हो जाता है, तो आपकी दर सीमित हो जाएगी. साथ ही, आपको क्वेरी के लिए 403 "उपयोग करने की सीमाएं" वाला रिस्पॉन्स या 429 रिस्पॉन्स मिलेगा. अगर ऐसा होता है, तो आपको एक्स्पोनेंशियल बैक अप का इस्तेमाल करके, कुछ देर बाद कोशिश करनी चाहिए. इसके अलावा, कार्रवाई करने की वजहों के लिए, आपकी रेटिंग किसी भी समय सीमित हो सकती है. हालांकि, ऐसा आम तौर पर बहुत कम होता है. अगर आपका प्रोजेक्ट इन कोटा के अंदर रहता है, तो हर दिन के लिए जितने चाहें उतने अनुरोध किए जा सकते हैं.
कोटा का हिसाब, स्लाइडिंग विंडो का इस्तेमाल करके हर मिनट के हिसाब से किया जाता है. इस वजह से, एक मिनट में हर मिनट एक तय सीमा से ज़्यादा आने वाले ट्रैफ़िक की वजह से, अगली विंडो के दौरान दर सीमित हो जाएगी. इससे, यह पक्का होगा कि आपका इस्तेमाल, औसत तौर पर सीमाओं के अंदर ही रहे.
अपने प्रोजेक्ट के लिए, इस्तेमाल की सीमाओं को देखने या उनमें बदलाव करने या कोटा बढ़ाने का अनुरोध करने के लिए, ये काम करें:
- अगर आपके पास अपने प्रोजेक्ट के लिए पहले से कोई बिलिंग खाता नहीं है, तो खाता बनाएं.
- एपीआई कंसोल में, एपीआई लाइब्रेरी के 'चालू किए गए एपीआई' पेज पर जाएं और सूची से एक एपीआई चुनें.
- कोटा से जुड़ी सेटिंग देखने और उन्हें बदलने के लिए, कोटा चुनें. इस्तेमाल के आंकड़े देखने के लिए, इस्तेमाल किया जाने वाला डेटा चुनें.
एक्स्पोनेंशियल बैकऑफ़ इस्तेमाल करें
अनुरोधों की दर को धीमा करने के लिए, हम 403 "उपयोग की सीमाएं" रिस्पॉन्स या 429 रिस्पॉन्स दिखाएंगे. पूरी गड़बड़ी का दस्तावेज़ देखें. यह गंभीर गड़बड़ी नहीं है और हम उम्मीद करते हैं कि एक छोटे से अंतराल के बाद आप फिर से अनुरोध करने की कोशिश करें. अगर अनुरोध अभी भी बहुत जल्दी आ रहे हैं, तो हम फिर से पूछेंगे, और यह प्रक्रिया आगे भी जारी रहेगी. यह सही तरीके से काम करे, इसके लिए यह ज़रूरी है कि समय के साथ अनुरोधों के बढ़ने में देरी हो.
आम तौर पर, आपको कट किए गए एक्सपोनेन्शियल बैकऑफ़ का इस्तेमाल करना चाहिए. Cloud Storage के दस्तावेज़ में इस बारे में अच्छे से बताया गया है कि यह कैसे काम करता है और पसंदीदा एल्गोरिदम क्या है. अगर आप किसी Google क्लाइंट लाइब्रेरी का इस्तेमाल कर रहे हैं, तो यह आम तौर पर आपके लिए है; अपने लाइब्रेरी दस्तावेज़ देखें. आम तौर पर, लाइब्रेरी को लागू करने के बजाय, लाइब्रेरी का इस्तेमाल करें.
ट्रैफ़िक के पैटर्न को बिना किसी क्रम के तय करें
एक ही समय पर कई क्लाइंट के कार्रवाई करने की वजह से, Calendar क्लाइंट के ट्रैफ़िक में बढ़ोतरी हो सकती है. उदाहरण के लिए, एक सामान्य एंटी-पैटर्न कैलेंडर क्लाइंट के लिए आधी रात को पूरा सिंक करने का होता है. इस बात की गारंटी है कि आपका प्रति-मिनट का कोटा पार हो जाएगा. इससे दर सीमित हो जाएगी और बैकऑफ़ हो जाएगा.
इससे बचने के लिए, पक्का करें कि जहां भी मुमकिन हो, वहां आपका ट्रैफ़िक दिन भर के लिए फैल जाए. अगर आपके क्लाइंट को हर दिन सिंक करना है, तो क्लाइंट के लिए कोई भी समय (हर क्लाइंट के लिए अलग-अलग) तय करें. अगर आपको समय-समय पर कार्रवाई करनी है, तो इंटरवल +/- 25% का अंतर रखें. इससे ट्रैफ़िक ज़्यादा समान रूप से वितरित होगा और बेहतर उपयोगकर्ता अनुभव मिलेगा.
पुश नोटिफ़िकेशन का इस्तेमाल करना
इस्तेमाल करने का एक आम तरीका यह है कि जब भी उपयोगकर्ता के कैलेंडर में कुछ बदलाव हो, कोई कार्रवाई की जाए. यहां एक एंटी-पैटर्न है, जो आपकी पसंद के हर कैलेंडर का बार-बार पोल करता है. यह आपके सभी कोटे का तेज़ी से इस्तेमाल करेगा—उदाहरण के लिए, अगर आपके ऐप्लिकेशन में 5,000 उपयोगकर्ता हैं और हर उपयोगकर्ता के कैलेंडर में एक मिनट में पोल बनाए जाते हैं, तो किसी भी काम को पूरा करने से पहले इसके हर मिनट में कम से कम 5,000 कोटे की ज़रूरत होगी.
सर्वर-साइड ऐप्लिकेशन पुश नोटिफ़िकेशन के लिए रजिस्टर कर सकते हैं. इनसे हम कुछ पसंद आने पर आपको सूचना दे सकते हैं. इन्हें सेट अप करने के लिए ज़्यादा काम करने की ज़रूरत होती है. हालांकि, इनके इस्तेमाल से, कोटा का बेहतर तरीके से इस्तेमाल किया जा सकता है और उपयोगकर्ता को बेहतर अनुभव मिल सकता है. ज़्यादा जानकारी के लिए, पुश नोटिफ़िकेशन देखें.
सेवा खातों के साथ सही हिसाब
अगर आपका आवेदन पूरे डोमेन पर सौंपना का इस्तेमाल करके अनुरोध कर रहा है, तो डिफ़ॉल्ट रूप से सेवा खाते पर "हर उपयोगकर्ता के लिए एक मिनट का हर प्रोजेक्ट" के कोटा का हिसाब लगाया जाता है. इसका मतलब है कि
सेवा खाते का कोटा खत्म हो सकता है और यह
सीमित तौर पर इस्तेमाल किया जा सकता है. भले ही,
यह कई उपयोगकर्ताओं के कैलेंडर पर काम कर रहा हो. इससे बचने के लिए, quotaUser
यूआरएल पैरामीटर (या x-goog-quota-user
एचटीटीपी हेडर) का इस्तेमाल करें. इससे पता चलेगा कि किस उपयोगकर्ता से शुल्क लिया जाएगा. इसका इस्तेमाल सिर्फ़ कोटा कैलकुलेट करने के लिए किया जाता है. ज़्यादा जानकारी के लिए, क्लाउड के दस्तावेज़ में हर उपयोगकर्ता के अनुरोधों को सीमित करना देखें.
टेस्ट कोटा सीमा हैंडलिंग
यह पक्का करने के लिए कि आपका ऐप्लिकेशन अभ्यास में कोटा सीमा तक पहुंचने के लिए सही तरीके से हैंडल कर सके (उदाहरण के लिए, एक्स्पोनेंशियल बैकऑफ़ के साथ फिर से कोशिश करना) और अपने उपयोगकर्ताओं को होने वाली किसी भी संभावित समस्या को कम करने के लिए, हम असल में इन स्थितियों की जांच करने का सुझाव देते हैं.
इस तरह के टेस्ट से आपके ऐप्लिकेशन के असली इस्तेमाल में रुकावट न आए, इसके लिए हमारा सुझाव है कि आप Google API (एपीआई) कंसोल में सिर्फ़ टेस्ट करने के लिए एक अलग प्रोजेक्ट रजिस्टर करें. साथ ही, अपने प्रोडक्शन प्रोजेक्ट की तरह ही इसे कॉन्फ़िगर करें. इसके बाद, आप इस प्रोजेक्ट के लिए आर्टिफ़िशियल तरीके से कम कोटेशन सेटकर सकते हैं और अपने ऐप्लिकेशन के व्यवहार पर नज़र रख सकते हैं.
कीमत
Google Calendar API का इस्तेमाल, मुफ़्त में किया जा सकता है. अनुरोध की तय सीमा से ज़्यादा होने पर, अलग से शुल्क नहीं लिया जाता है. साथ ही, आपके खाते से बिल नहीं भेजा जाता है.