Görevi sil

Bu dokümanda, görevlerin nasıl silineceği açıklanmaktadır. Filo Motoru'nu ayarlamış olmanız gerekir. Fleet Engine'i ayarlama başlıklı makaleyi inceleyin.

Görev silmeyle ilgili temel bilgiler

Sisteminiz, aşağıdaki durumlarda bir görevi silmek için Fleet Engine'ı kullanabilir:

  • Fleet Engine API'lerini test ederken temizleme işlemleri gerçekleştirmek için.
  • Artık gerekli olmayan bir görevi hemen silmek için.

Bir görevi silmek için gRPC veya REST kullanarak istek gönderin.

  • DeleteTask() yöntemi: gRPC veya REST
  • DeleteTaskRequest mesajı: Yalnızca gRPC

Fleet Engine: Hizmet hesabı rolleri bölümünde açıklandığı gibi, projenizin hizmet hesabı için uygun kimlik bilgilerini kullanın.

Örnek: delete task

Aşağıdaki örnekte, Fleet Engine'da bir görevin nasıl silineceği gösterilmektedir.

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;
}

Hataları işleme

Bir görevi silerken FAILED_PRECONDITION hatasıyla karşılaşabilirsiniz. Bu durumda görev etkindir ve bir yayın aracına atanmıştır. Silme işlemine devam etmek için görevi kapatın.

Sırada ne var?