يوضّح هذا المستند كيفية حذف مهمة. ويفترض أنّك أعددت Fleet Engine. راجِع مقالة إعداد Fleet Engine.
أساسيات حذف المهام
قد يستخدم نظامك Fleet Engine لحذف مهمة في الحالات التالية:
- لإجراء عمليات تنظيف أثناء اختبار واجهات برمجة تطبيقات Fleet Engine
- لحذف مهمة لم تعُد مطلوبة على الفور
لحذف مهمة، أرسِل طلبًا باستخدام gRPC أو REST.
استخدِم بيانات الاعتماد المناسبة لحساب الخدمة في مشروعك كما هو описан في مقالة 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
، وفي هذه الحالة تكون المهمة نشطة ومخصّصة ل
مركبة تسليم.
لمواصلة عملية الحذف، أغلِق المهمة.