Route Optimization API دو روش را نشان می دهد:
-
OptimizeToursیک روش همزمان است که یک مسیر بهینه شده را در پاسخ بهOptimizeToursRequestبرمی گرداند. مشتریان باید تا زمانی که درخواست پردازش شود وOptimizeToursResponseیا خطا برگردانده شود، یک اتصال باز به Route Optimization API حفظ کنند. -
BatchOptimizeToursیک روش ناهمزمان است که URI ها را برای یک یا چندOptimizeToursRequestو پیامOptimizeToursResponseمربوطه می پذیرد و نام منبع یک عملیات طولانی مدت (LRO) ( REST ، gRPC ) را که برای بررسی تکمیل دسته ای استفاده می شود، برمی گرداند.OptimizeToursRequestها در پس زمینه پردازش می شوند، بنابراین کلاینت ها اتصالات باز به Route Optimization API را فقط به اندازه کافی برای ارسالBatchOptimizeToursRequestیا تماس باGetOperationبرای بررسی وضعیت LRO حفظ می کنند.BatchOptimizeToursدرخواستها را از Google Cloud Storage میخواند و پاسخها را مینویسد.
موارد استفاده کنید
OptimizeTours برای حل درخواست های کوچک و ساده یا برای درخواست هایی با زمان حل چند دقیقه یا کمتر مناسب است. حفظ اتصالات طولانی مدت به Route Optimization API خطر وقفه را قبل از بازگشت راه حل افزایش می دهد.
BatchOptimizeTours میتواند درخواستها و درخواستهای بزرگتر را با زمان حل طولانیتر رسیدگی کند، زیرا نیازی به اتصال طولانیمدت به Route Optimization API ندارد.
عملیات طولانی مدت
LROها از Route Optimization API با استفاده از روش GetOperation برای بررسی وضعیت تکمیل یک دسته خوانده می شوند. LRO ها شامل یک ویژگی done است که نشان می دهد آیا پردازش کل دسته کامل شده است یا خیر و یک فیلد error که خطاهای رخ داده در طول پردازش را گزارش می دهد. اگر done درست باشد و error وجود نداشته باشد، دسته با موفقیت کامل شد. وجود یک error نشان می دهد که برخی یا همه پردازش دسته ای ناموفق است.
چرخه عمر معمول درخواست BatchOptimizeTours به شرح زیر است:
- یک
BatchOptimizeToursRequestبه Route Optimization API ارسال کنید، که نام منبع یک LRO را برمی گرداند. - نظرسنجی
GetOperationبا نام منبع LRO برگردانده تا زمانی که خصوصیاتdoneیاerrorدر پاسخ LRO ظاهر شود. - اگر
doneدرست است و هیچ خطایی وجود ندارد،OptimizeToursResponsesاز URI های Google Cloud Storage مشخص شده در درخواستBatchOptimizeToursبخوانید. اگرerrorوجود داشت، خطا را بررسی کنید،OptimizeToursRequestرا بر این اساس در Google Cloud Storage بهروزرسانی کنید و بسته به خطای مشاهدهشده، در صورت لزوم دوباره امتحان کنید.
میتوانید درخواستهای OptimizeTours و BatchOptimizeTours را به روشهای مختلفی ارسال کنید، یا از خط فرمان یا با استفاده از کتابخانه مشتری.
بعدی: یک درخواست API ایجاد کنید