מחיקת משימה

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

המאמרים הבאים