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