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