يوضّح هذا المستند كيفية حذف مهمة. يفترض هذا الإجراء أنّك أعددت 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
، وفي هذه الحالة تكون المهمة نشطة ومخصّصة ل
مركبة تسليم.
لمواصلة عملية الحذف، أغلِق المهمة.