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

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

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

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

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

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

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

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

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

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

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

अगला: अनुरोध भेजें