ลบงาน

เอกสารนี้อธิบายวิธีลบงาน โดยระบบจะถือว่าคุณได้ตั้งค่า Fleet Engine แล้ว โปรดดูหัวข้อตั้งค่า Fleet Engine

ข้อมูลเบื้องต้นเกี่ยวกับการลบงาน

ระบบอาจใช้ Fleet Engine เพื่อลบงานในสถานการณ์ต่อไปนี้

  • วิธีดำเนินการล้างข้อมูลขณะทดสอบ Fleet Engine API
  • วิธีลบงานที่ไม่จําเป็นแล้วทันที

หากต้องการลบงาน ให้ส่งคําขอโดยใช้ gRPC หรือ REST

  • DeleteTask() วิธี: gRPC หรือ REST
  • ข้อความ 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 ซึ่งหมายความว่างานดังกล่าวยังมีการใช้งานอยู่และกำหนดให้กับยานพาหนะนำส่ง หากต้องการลบต่อ ให้ปิดงาน

ขั้นตอนถัดไป