במאמר הזה נסביר איך למחוק משימה. ההנחה היא שהגדרתם את Fleet Engine. מידע נוסף מופיע במאמר בנושא הגדרת Fleet Engine.
עקרונות בסיסיים למחיקת משימות
יכול להיות שהמערכת שלכם תשתמש ב-Fleet Engine כדי למחוק משימה במצבים הבאים:
- כדי לבצע פעולות ניקוי בזמן בדיקת ממשקי Fleet Engine API.
- כדי למחוק באופן מיידי משימה שכבר לא נדרשת.
כדי למחוק משימה, שולחים בקשה באמצעות 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
. במקרה כזה, המשימה פעילה ומשויכת לרכב משלוחים.
כדי להמשיך במחיקה, סוגרים את המשימה.