مقایسه OptimizeTours و BatchOptimizeTours

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 خطر وقفه را قبل از بازگشت راه حل افزایش می دهد. برای جزئیات بیشتر به Work with Timeout مراجعه کنید.

BatchOptimizeTours می‌تواند درخواست‌ها و درخواست‌های بزرگ‌تر را با زمان حل طولانی‌تر رسیدگی کند، زیرا نیازی به اتصال طولانی‌مدت به Route Optimization API ندارد.

عملیات طولانی مدت

LROها از Route Optimization API با استفاده از روش GetOperation برای بررسی وضعیت تکمیل یک دسته خوانده می شوند. LRO ها شامل یک ویژگی done است که نشان می دهد آیا پردازش کل دسته کامل شده است یا خیر و یک فیلد error که خطاهای رخ داده در طول پردازش را گزارش می دهد. اگر done درست باشد و error وجود نداشته باشد، دسته با موفقیت کامل شد. وجود یک error نشان می دهد که برخی یا همه پردازش دسته ای ناموفق است.

چرخه عمر معمول درخواست BatchOptimizeTours به ​​شرح زیر است:

  1. یک BatchOptimizeToursRequest به Route Optimization API ارسال کنید، که نام منبع یک LRO را برمی گرداند.
  2. نظرسنجی GetOperation با نام منبع LRO برگردانده تا زمانی که خصوصیات done یا error در پاسخ LRO ظاهر شود.
  3. اگر done درست است و هیچ خطایی وجود ندارد، OptimizeToursResponses از URI های Google Cloud Storage مشخص شده در درخواست BatchOptimizeTours بخوانید. اگر error وجود داشت، خطا را بررسی کنید، OptimizeToursRequest را بر این اساس در Google Cloud Storage به‌روزرسانی کنید و بسته به خطای مشاهده‌شده، در صورت لزوم دوباره امتحان کنید.

می‌توانید درخواست‌های OptimizeTours و BatchOptimizeTours را به روش‌های مختلفی ارسال کنید، یا از خط فرمان یا با استفاده از کتابخانه مشتری.

بعدی: یک درخواست API ایجاد کنید