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