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