نقاط پایانی همزمان و ناهمزمان

توسعه‌دهندگان منطقه اقتصادی اروپا (EEA)

API بهینه‌سازی مسیر دو روش را ارائه می‌دهد:

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

موارد استفاده

OptimizeTours برای حل درخواست‌های کوچک و ساده یا برای درخواست‌هایی با زمان حل چند دقیقه یا کمتر مناسب است. حفظ اتصالات طولانی مدت به Route Optimization API، خطر وقفه قبل از بازگشت راه‌حل را افزایش می‌دهد.

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

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

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

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

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

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

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