Supprimer une tâche

Ce document explique comment supprimer une tâche. Il suppose que vous avez configuré Fleet Engine. Consultez Configurer Fleet Engine.

Principes de base de la suppression des tâches

Votre système peut utiliser Fleet Engine pour supprimer une tâche dans les situations suivantes :

  • Pour effectuer des opérations de nettoyage lors du test des API Fleet Engine.
  • Pour supprimer immédiatement une tâche dont vous n'avez plus besoin.

Pour supprimer une tâche, envoyez une requête à l'aide de gRPC ou de REST.

  • Méthode DeleteTask() : gRPC ou REST
  • Message DeleteTaskRequest : gRPC uniquement

Utilisez les identifiants appropriés pour le compte de service de votre projet, comme décrit dans Fleet Engine : rôles des comptes de service.

Exemple : supprimer une tâche

L'exemple suivant montre comment supprimer une tâche dans 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;
}

Gérer les erreurs

Lorsque vous supprimez une tâche, vous pouvez rencontrer une erreur FAILED_PRECONDITION. Dans ce cas, la tâche est active et attribuée à un véhicule de livraison. Pour supprimer la tâche, fermez-la.

Étape suivante