सिंक्रोनस और एसिंक्रोनस एंडपॉइंट

यूरोपियन इकनॉमिक एरिया (ईईए) के डेवलपर

Route Optimization API के दो तरीके हैं:

  • OptimizeTours एक सिंक्रोनस तरीका है. यह OptimizeToursRequest के जवाब में, ऑप्टिमाइज़ किया गया रूट दिखाता है. क्लाइंट को Route Optimization API से अपना कनेक्शन तब तक खुला रखना होगा, जब तक अनुरोध प्रोसेस नहीं हो जाता और OptimizeToursResponse या गड़बड़ी का मैसेज नहीं मिल जाता.
  • BatchOptimizeTours एक एसिंक्रोनस तरीका है. यह एक या उससे ज़्यादा OptimizeToursRequest और उनसे जुड़े OptimizeToursResponse मैसेज के लिए यूआरआई स्वीकार करता है. साथ ही, यह लंबे समय तक चलने वाली कार्रवाई (एलआरओ) (REST, gRPC) का संसाधन नाम दिखाता है. इसका इस्तेमाल, बैच पूरा होने की स्थिति की जांच करने के लिए किया जाता है. OptimizeToursRequest को बैकग्राउंड में प्रोसेस किया जाता है. इसलिए, क्लाइंट Route Optimization API से अपना कनेक्शन सिर्फ़ तब तक खुला रखते हैं, जब तक वे BatchOptimizeToursRequest सबमिट नहीं कर देते या एलआरओ की स्थिति की जांच करने के लिए GetOperation को कॉल नहीं कर लेते. BatchOptimizeTours Google Cloud Storage से अनुरोध पढ़ता है और उसमें जवाब लिखता है.

इस्तेमाल के उदाहरण

OptimizeTours का इस्तेमाल, छोटे और आसान अनुरोधों को हल करने या कुछ मिनट या उससे कम समय में हल होने वाले अनुरोधों को हल करने के लिए किया जा सकता है. Route Optimization API से लंबे समय तक कनेक्शन बनाए रखने पर, समाधान मिलने से पहले कनेक्शन में रुकावट आने का खतरा बढ़ जाता है.

BatchOptimizeTours बड़े अनुरोधों और ज़्यादा समय में हल होने वाले अनुरोधों को हैंडल कर सकता है, क्योंकि इसके लिए Route Optimization API से लंबे समय तक कनेक्शन बनाए रखने की ज़रूरत नहीं होती.

लंबे समय तक चलने वाली कार्रवाइयां

बैच पूरा होने की स्थिति की जांच करने के लिए, एलआरओ को GetOperation तरीके का इस्तेमाल करके, Route Optimization API से पढ़ा जाता है. एलआरओ में done प्रॉपर्टी शामिल होती है. इससे पता चलता है कि पूरे बैच की प्रोसेसिंग पूरी हो गई है या नहीं. साथ ही, इसमें error फ़ील्ड भी शामिल होता है. इससे प्रोसेसिंग के दौरान हुई गड़बड़ियों के बारे में पता चलता है. अगर done की वैल्यू 'सही' है और कोई error नहीं है, तो इसका मतलब है कि बैच की प्रोसेसिंग पूरी हो गई है. error की मौजूदगी से पता चलता है कि बैच की कुछ या सभी कार्रवाइयों की प्रोसेसिंग पूरी नहीं हुई है.

BatchOptimizeTours अनुरोध का आम तौर पर लाइफ़साइकल इस तरह होता है:

  1. Route Optimization API को BatchOptimizeToursRequest सबमिट करें. इससे एलआरओ का संसाधन नाम मिलता है.
  2. एलआरओ के जवाब में done या error प्रॉपर्टी दिखने तक, मिले हुए एलआरओ संसाधन नाम के साथ GetOperation को पोल करें.
  3. अगर done की वैल्यू 'सही' है और कोई गड़बड़ी नहीं है, तो BatchOptimizeTours अनुरोध में बताए गए Google Cloud Storage के यूआरआई से OptimizeToursResponses पढ़ें. अगर error मौजूद है, तो गड़बड़ी की जांच करें. इसके बाद, Google Cloud Storage में मौजूद OptimizeToursRequest को अपडेट करें. साथ ही, देखी गई गड़बड़ी के हिसाब से फिर से कोशिश करें.

आप OptimizeTours और BatchOptimizeTours अनुरोध, कई तरीकों से भेजे जा सकते हैं. जैसे, कमांड लाइन से या क्लाइंट लाइब्रेरी का इस्तेमाल करके.

अगला लेख: एपीआई अनुरोध करना