রুট অপ্টিমাইজেশন API দুটি পদ্ধতি প্রকাশ করে:
-
OptimizeToursহল একটি সিঙ্ক্রোনাস পদ্ধতি যাOptimizeToursRequestএর প্রতিক্রিয়ায় একটি অপ্টিমাইজড রুট ফেরত দেয়। অনুরোধটি প্রক্রিয়া না হওয়া পর্যন্ত এবং একটিOptimizeToursResponseবা ত্রুটি ফেরত না আসা পর্যন্ত ক্লায়েন্টদের অবশ্যই Route Optimization API-এর সাথে একটি উন্মুক্ত সংযোগ বজায় রাখতে হবে। -
BatchOptimizeToursহল একটি অ্যাসিঙ্ক্রোনাস পদ্ধতি যা এক বা একাধিকOptimizeToursRequestএবং সংশ্লিষ্টOptimizeToursResponseবার্তাগুলির জন্য URI গ্রহণ করে, যা ব্যাচ সমাপ্তি পরীক্ষা করার জন্য ব্যবহৃত দীর্ঘ চলমান অপারেশন (LRO) ( REST , gRPC ) এর রিসোর্স নাম ফেরত দেয়।OptimizeToursRequestগুলি ব্যাকগ্রাউন্ডে প্রক্রিয়া করা হয়, তাই ক্লায়েন্টরা Route Optimization API-এর সাথে কেবলBatchOptimizeToursRequestজমা দেওয়ার জন্য বা LRO স্থিতি পরীক্ষা করার জন্যGetOperationকল করার জন্য যথেষ্ট সময় ধরে খোলা সংযোগ বজায় রাখে।BatchOptimizeToursGoogle Cloud Storage থেকে অনুরোধগুলি পড়ে এবং প্রতিক্রিয়া লেখে।
ব্যবহারের ক্ষেত্রে
ছোট এবং সহজ অনুরোধগুলি সমাধান করার জন্য, অথবা কয়েক মিনিট বা তার কম সময়ের সমাধানের অনুরোধগুলির জন্য OptimizeTours সুবিধাজনক। Route Optimization API-এর সাথে দীর্ঘস্থায়ী সংযোগ বজায় রাখলে সমাধান ফেরত দেওয়ার আগে বাধার ঝুঁকি বেড়ে যায়।
BatchOptimizeTours বৃহত্তর অনুরোধ এবং দীর্ঘ সমাধানের সময় সহ অনুরোধগুলি পরিচালনা করতে পারে কারণ এর জন্য Route Optimization API-এর সাথে দীর্ঘস্থায়ী সংযোগের প্রয়োজন হয় না।
দীর্ঘমেয়াদী কার্যক্রম
একটি ব্যাচের সমাপ্তির অবস্থা পরীক্ষা করার জন্য GetOperation পদ্ধতি ব্যবহার করে Route Optimization API থেকে LRO গুলি পড়া হয়। LRO গুলিতে একটি done প্রপার্টি থাকে যা নির্দেশ করে যে পুরো ব্যাচের প্রক্রিয়াকরণ সম্পূর্ণ হয়েছে কিনা এবং একটি error ক্ষেত্র থাকে যা প্রক্রিয়াকরণের সময় সম্মুখীন ত্রুটিগুলি রিপোর্ট করে। যদি done সত্য হয় এবং কোনও error উপস্থিত না থাকে, তাহলে ব্যাচটি সফলভাবে সম্পন্ন হয়েছে। একটি error উপস্থিতি নির্দেশ করে যে ব্যাচের কিছু বা সমস্ত প্রক্রিয়াকরণ ব্যর্থ হয়েছে।
একটি BatchOptimizeTours অনুরোধের সাধারণ জীবনচক্র নিম্নরূপ:
- রুট অপ্টিমাইজেশন API-তে একটি
BatchOptimizeToursRequestজমা দিন, যা একটি LRO-এর রিসোর্স নাম প্রদান করে। - LRO প্রতিক্রিয়াতে
doneবাerrorবৈশিষ্ট্যগুলি উপস্থিত না হওয়া পর্যন্ত ফেরত LRO রিসোর্স নামের সাথেGetOperationপোল করুন। - যদি
doneহয় এবং কোনও ত্রুটি উপস্থিত না থাকে, তাহলেBatchOptimizeToursঅনুরোধে নির্দিষ্ট করা Google Cloud Storage URI থেকেOptimizeToursResponsesপড়ুন। যদিerrorউপস্থিত থাকে, তাহলে ত্রুটিটি পরীক্ষা করুন, Google Cloud Storage-এ সেই অনুযায়ীOptimizeToursRequestআপডেট করুন এবং পর্যবেক্ষণ করা ত্রুটির উপর নির্ভর করে যথাযথভাবে পুনরায় চেষ্টা করুন।
আপনি কমান্ড লাইন থেকে অথবা ক্লায়েন্ট লাইব্রেরি ব্যবহার করে বিভিন্ন উপায়ে OptimizeTours এবং BatchOptimizeTours অনুরোধ পাঠাতে পারেন।