Usuń zadanie

Z tego dokumentu dowiesz się, jak usunąć zadanie. Zakładamy, że masz skonfigurowany mechanizm floty. Zobacz Konfigurowanie Fleet Engine.

Podstawowe informacje o usuwaniu zadań

Twój system może użyć mechanizmu Fleet Engine, aby usunąć zadanie w tych sytuacjach:

  • Aby podczas testowania interfejsów API Fleet Engine wykonywać operacje czyszczenia.
  • Aby natychmiast usunąć zadanie, które nie jest już potrzebne.

Aby usunąć zadanie, wyślij żądanie za pomocą gRPC lub REST.

  • metoda DeleteTask(): gRPC lub REST
  • DeleteTaskRequest komunikat: dotyczy tylko gRPC

Użyj odpowiednich danych logowania do konta usługi projektu zgodnie z opisem w artykule Fleet Engine: role kont usług.

Przykład: usuwanie zadania

Z tego przykładu dowiesz się, jak usunąć zadanie w 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;
}

Obsługuj błędy

Podczas usuwania zadania może wystąpić błąd FAILED_PRECONDITION. W takim przypadku zadanie jest aktywne i przypisane do pojazdu dostawczego. Aby kontynuować usuwanie, zamknij zadanie.

Co dalej?