نقاط النهاية المتزامنة وغير المتزامنة

تعرض Route Optimization API طريقتَين:

  • OptimizeTours هي طريقة متزامنة تعرض مسارًا محسّنًا في استجابة لطلب OptimizeToursRequest. يجب أن يحافظ العملاء على اتصال مفتوح بواجهة برمجة التطبيقات Route Optimization API إلى أن تتم معالجة الطلب ويُرسَل OptimizeToursResponse أو خطأ.
  • BatchOptimizeTours هي طريقة غير متزامنة تقبل عناوين URL لرسالة OptimizeToursRequest واحدة أو أكثر ورسائل OptimizeToursResponse المقابلة، وتُعيد اسم المورد لعملية طويلة الأمد (LRO) (REST أو gRPC) التي تُستخدَم للتحقّق من اكتمال الحزمة. تتم معالجة OptimizeToursRequest في الخلفية، لذلك يحافظ العملاء على اتصالات مفتوحة مع Route Optimization API فقط لفترة كافية لإرسال BatchOptimizeToursRequest أو الاتصالGetOperation للتحقّق من حالة LRO. يقرأ BatchOptimizeTours الطلبات الواردة من Google Cloud Storage ويكتب الردود المرسَلة إليها.

حالات الاستخدام

OptimizeTours مناسب لحلّ الطلبات الصغيرة والبسيطة، أو لمعالجة الطلبات التي تستغرق بضع دقائق أو أقل. يؤدي الحفاظ على اتصالات دائمة بواجهة برمجة التطبيقات Route Optimization API إلى زيادة خطر انقطاع الاتصال قبل تقديم حلّ.

يمكن لخدمة BatchOptimizeTours معالجة الطلبات الأكبر حجمًا والطلبات التي تستغرق وقتًا أطول في حلّها، لأنّها لا تتطلّب اتصالاً دائمًا بخدمة Route Optimization API.

العمليات التي تستغرق وقتًا طويلاً

تتم قراءة عمليات إعادة التوجيه غير القابلة للتقديم أو الإيقاف من Route Optimization API باستخدام الطريقة GetOperation لفحص حالة اكتمال إحدى الدفعات. تتضمّن عمليات المعالجة المحدودة الوقت سمة 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 بعدة طُرق، إما من سطر الأوامر أو باستخدام مكتبة عملاء.

المقالة التالية: تقديم طلب بيانات من واجهة برمجة التطبيقات