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