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
, छोटे और आसान अनुरोधों को हल करने के लिए सुविधाजनक है. इसके अलावा, कुछ मिनट या उससे कम समय में हल किए जा सकने वाले अनुरोधों के लिए भी यह सुविधा काम की है. 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
अनुरोधों को कई तरीकों से भेजा जा सकता है. जैसे, कमांड लाइन से या क्लाइंट लाइब्रेरी का इस्तेमाल करके.