Удалить задачу

В этом документе рассказывается, как удалить задачу. Предполагается, что вы уже настроили Fleet Engine. Подробнее о том, как настроить Fleet Engine…

Основные сведения об удалении задач

Ваша система может использовать Fleet Engine для удаления задачи в следующих ситуациях:

  • Для выполнения операций очистки при тестировании API 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. Это означает, что задача активна и назначена транспортному средству. Чтобы удалить задачу, закройте ее.

Дальнейшие действия