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.
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.