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