Este documento descreve como excluir uma tarefa. Pressupo que você tenha configurado o Fleet Engine. Consulte Configurar o Fleet Engine.
Noções básicas sobre a exclusão de tarefas
O sistema pode usar o Fleet Engine para excluir uma tarefa nas seguintes situações:
- Para executar operações de limpeza ao testar APIs do Fleet Engine.
- Para excluir imediatamente uma tarefa que não é mais necessária.
Para excluir uma tarefa, envie uma solicitação usando gRPC ou REST.
Use as credenciais adequadas para a conta de serviço do seu projeto, conforme descrito em Fleet Engine: papéis da conta de serviço.
Exemplo: excluir tarefa
O exemplo a seguir demonstra como excluir uma tarefa no 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;
}
Solucionar erros
Ao excluir uma tarefa, você pode encontrar um erro FAILED_PRECONDITION
, caso em que a tarefa está ativa e atribuída a um veículo de entrega.
Para continuar com a exclusão, feche a tarefa.