OptimizeTour और BatchOptimizeTours की तुलना करना

रूट ऑप्टिमाइज़ेशन एपीआई दो तरीकों से जानकारी देता है:

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

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

छोटे और आसान अनुरोधों या कुछ मिनट या इससे कम समय में समाधान करने वाले अनुरोधों के लिए, OptimizeTours सुविधाजनक है. रूट ऑप्टिमाइज़ेशन एपीआई के साथ लंबे समय तक चलने वाले कनेक्शन को बनाए रखने से, समाधान वापस पाने से पहले रुकावट आने का जोखिम बढ़ जाता है.

BatchOptimizeTours, बड़े अनुरोधों और अनुरोधों को ज़्यादा समय तक हल करने की सुविधा दे सकता है. ऐसा इसलिए, क्योंकि इसके लिए रूट ऑप्टिमाइज़ेशन एपीआई के साथ लंबे समय तक चलने वाले कनेक्शन की ज़रूरत नहीं होती.

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

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

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

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

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

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