Borrar tarea

En este documento, se describe cómo borrar una tarea. Se supone que ya configuraste Fleet Engine. Consulta Configura Fleet Engine.

Conceptos básicos para borrar tareas

Tu sistema puede usar Fleet Engine para borrar una tarea en las siguientes situaciones:

  • Para realizar operaciones de limpieza mientras pruebas las APIs de Fleet Engine
  • Para borrar de inmediato una tarea que ya no es necesaria

Para borrar una tarea, envía una solicitud con gRPC o REST.

  • Método DeleteTask(): gRPC o REST
  • Mensaje DeleteTaskRequest: gRPC solamente

Usa las credenciales adecuadas para la cuenta de servicio de tu proyecto, como se describe en Fleet Engine: Roles de cuenta de servicio.

Ejemplo: Borrar tarea

En el siguiente ejemplo, se muestra cómo borrar una tarea en 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;
}

Soluciona errores

Cuando borres una tarea, es posible que encuentres un FAILED_PRECONDITION error, en cuyo caso la tarea está activa y asignada a un vehículo de entrega. Para continuar con la eliminación, cierra la tarea.

¿Qué sigue?