מחיקת משימה

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

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