5

मैं एक ऐसा एप्लिकेशन लिखने की कोशिश कर रहा हूं जो Google निर्देशिका API का उपयोग करके हजारों उपयोगकर्ताओं के लिए मेल खाते बनाता है। उन्हें एक काम से एक बनाना, लेकिन बेहद धीमा है। मैंने बैच अनुरोधों का उपयोग करने की कोशिश की जो कि एक बार में 1000 अनुरोधों का समर्थन करने का अनुमान है। हालांकि, इसके साथ ही लगभग 50 उपयोगकर्ता सफलतापूर्वक बनाए जाते हैं और शेष अनुरोध 403 त्रुटियों को फेंक देते हैं। यदि मैं पहले बैच के बाद बैच आकार को 40 में बदलता हूं, तो 5xx त्रुटियों के साथ कई अनुरोध विफल हो जाते हैं।हजारों उपयोगकर्ताओं को प्रावधान करने के लिए Google निर्देशिका API का उपयोग

यदि बैच अनुरोध अभी भी उसी दर सीमा से सीमित हैं, तो यह बेकार प्रतीत होता है क्योंकि मैं उन धीमी गति से व्यक्तिगत रूप से उन अनुरोधों को व्यक्तिगत रूप से भेज सकता हूं। क्या ऐसा करने का कोई बेहतर तरीका है या इसके बजाय मुझे कुछ और करना चाहिए?

+0

क्या आपका एप्लिकेशन बैच के भीतर विफल संचालन को पुनः प्रयास करने के लिए घातीय बैकऑफ (https://developers.google.com/admin-sdk/directory/v1/limits) निष्पादित कर रहा है? https://developers.google.com/admin-sdk/directory/v1/limits –

उत्तर

2

अनुरोधों को बैच करना निश्चित रूप से नेटवर्क राउंडट्रिप्स को बचाएगा (जो आपके पास हजारों उपयोगकर्ताओं को संसाधित करने के लिए बहुत महंगा हो सकता है)। हालांकि, सर्वर को बैकअप होने पर भी अनुरोध को एक-एक करके निष्पादित करना होगा। नियंत्रक SDK पर प्रलेखन

https://developers.google.com/admin-sdk/directory/v1/guides/batch

विशेष नोट कहा पर एक नज़र डालें:। "एक साथ batched n अनुरोधों का एक सेट नहीं एक अनुरोध के रूप में एन अनुरोध के रूप में अपने उपयोग की सीमा की ओर मायने रखता है, बैच अनुरोध लिया जाता है प्रसंस्करण से पहले अनुरोधों के एक सेट के अलावा। "

+0

घातीय बैकऑफ का उपयोग करने के बावजूद, बहुत सी कोटा एक्स्क्ड त्रुटि प्राप्त हुई है। निर्देशिका एपीआई 10 रचनाओं/सेकंड की अनुमति दे सकता है, मैं 1,000 रचनाओं के साथ एक बैच भेज सकता हूं, 100 सेकंड प्रतीक्षा कर सकता हूं, और दूसरा भेज सकता हूं। लेकिन, दिन के पहले बैच में, मुझे कोटा त्रुटियां मिलती हैं। मैंने बैच को प्रत्येक 12 रचनाओं तक सीमित कर दिया: यह बिना किसी त्रुटि के काम कर रहा है। –

संबंधित मुद्दे