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

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

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 का इस्तेमाल, छोटे और आसान अनुरोधों को हल करने के लिए किया जा सकता है. इसके अलावा, इसका इस्तेमाल उन अनुरोधों को हल करने के लिए भी किया जा सकता है जिनमें कुछ मिनट या उससे कम समय लगता है. रूट ऑप्टिमाइज़ेशन एपीआई से लंबे समय तक कनेक्शन बनाए रखने से, समाधान मिलने से पहले रुकावट आने का खतरा बढ़ जाता है.

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

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

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

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

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

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

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