حذف المهمة

يوضّح هذا المستند كيفية حذف مهمة. ويفترض هذا الدليل أنّك أعددت Fleet Engine. راجِع مقالة إعداد Fleet Engine.

أساسيات حذف المهام

قد يستخدم نظامك Fleet Engine لحذف مهمة في الحالات التالية:

  • لإجراء عمليات تنظيف أثناء اختبار واجهات برمجة التطبيقات Fleet Engine
  • لحذف مهمة لم تعُد مطلوبة على الفور

لحذف مهمة، أرسِل طلبًا باستخدام gRPC أو REST.

  • طريقة DeleteTask(): gRPC أو REST
  • رسالة DeleteTaskRequest: gRPC فقط

استخدِم بيانات الاعتماد المناسبة لحساب الخدمة الخاص بمشروعك كما هو موضّح في Fleet Engine: أدوار حساب الخدمة.

مثال: حذف مهمة

يوضّح المثال التالي كيفية حذف مهمة في Fleet Engine.

static final String PROJECT_ID = "my-delivery-co-gcp-project";
static final String TASK_ID = "task-8241890";

String taskName = "providers/" + PROJECT_ID + "/tasks/" + TASK_ID;

DeliveryServiceBlockingStub deliveryService = DeliveryServiceGrpc.newBlockingStub(channel);

// Delete task request.
DeleteTaskRequest deleteTaskRequest = DeleteTaskRequest.newBuilder()
    .setName(taskName)
    .build();

// Error handling.
try {
  deliveryService.deleteTask(deleteTaskRequest);
} catch (StatusRuntimeException e) {
  Status s = e.getStatus();
  switch (s.getCode()) {
    case NOT_FOUND:           // The task doesn't exist.
      break;
    case FAILED_PRECONDITION: // Task is active and assigned to a delivery vehicle.
      break;
    case PERMISSION_DENIED:
      break;
  }
  return;
}

معالجة الأخطاء

عند حذف مهمة، قد يظهر لك الخطأ FAILED_PRECONDITION، وفي هذه الحالة تكون المهمة نشطة ومخصّصة لمركبة توصيل. لمواصلة عملية الحذف، عليك إغلاق المهمة.

الخطوات التالية