حذف کار

این سند نحوه حذف کردن تکلیف را شرح می‌دهد. فرض بر این است که «موتور ناوگان» را راه‌اندازی کرده‌اید. راه‌اندازی Fleet Engine را ببینید.

مبانی حذف تکلیف

سیستم شما ممکن است در شرایط زیر از Fleet Engine برای حذف تکلیف استفاده کند:

  • برای انجام عملیات پاک‌سازی هنگام آزمایش کردن Fleet Engine API.
  • برای حذف فوری «تکلیفی» که دیگر لازم نیست.

برای حذف کردن تکلیف، بااستفاده از 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 مواجه شوید که در این صورت تکلیف فعال است و به خودرو تحویل اختصاص داده شده است. برای ادامه دادن حذف، تکلیف را ببندید.

قدم بعدی چیست