Görevi sil

Bu belgede bir görevin nasıl silineceği anlatılmaktadır. Fleet Engine'i ayarladığınız varsayılır. Fleet Engine'i ayarlama başlıklı makaleyi inceleyin.

Görev silme temelleri

Sisteminiz aşağıdaki durumlarda bir görevi silmek için Fleet Engine'i 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 kullanılır.

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: görevi sil

Aşağıdaki örnek, Fleet Engine'de bir görevin nasıl silineceğini göstermektedir.

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 etkin durumdadır ve bir teslimat aracına atanmıştır. Silme işlemine devam etmek için görevi kapatın.

Sırada ne var?