刪除工作

本文將說明如何刪除工作。假設您已設定 Fleet Engine。請參閱「設定車隊引擎」。

刪除工作的基本概念

在下列情況下,系統可能會使用 Fleet Engine 刪除工作:

  • 在測試 Fleet Engine API 時執行清理作業。
  • 如要立即刪除不再需要的工作。

如要刪除工作,請使用 gRPC 或 REST 傳送要求。

  • DeleteTask() 方法:gRPCREST
  • DeleteTaskRequest 訊息:僅限 gRPC

請為專案的服務帳戶使用適當的憑證,如Fleet Engine:服務帳戶角色一節所述。

範例:刪除工作

以下範例說明如何在 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;
}

處理錯誤

刪除工作時,您可能會遇到 FAILED_PRECONDITION 錯誤,在這種情況下,工作處於活動狀態,並指派給提交媒介。如要繼續刪除作業,請關閉工作

後續步驟