מחיקת הנסיעה

במאמר הזה מוסבר איך למחוק נסיעה. ההנחה היא שהגדרתם את Fleet Engine. מידע נוסף מופיע במאמר בנושא הגדרת Fleet Engine.

היסודות של מחיקת נסיעות

יכול להיות שהמערכת שלכם תשתמש ב-Fleet Engine כדי למחוק נסיעה במצבים הבאים:

  • כדי לבצע פעולות ניקוי בזמן בדיקת ממשקי Fleet Engine API.
  • כדי למחוק באופן מיידי נסיעה שכבר לא נדרשת.

כדי למחוק נסיעה, שולחים בקשה באמצעות gRPC או REST.

  • שיטה: DeleteTrip() gRPC או REST
  • הודעה DeleteTripRequest: gRPC בלבד

משתמשים בפרטי הכניסה המתאימים לחשבון השירות של הפרויקט, כפי שמתואר במאמר Fleet Engine: תפקידים בחשבון שירות.

דוגמה: מחיקת הנסיעה

בדוגמה הבאה מוסבר איך למחוק נסיעה ב-Fleet Engine.

static final String PROJECT_ID = "my-rideshare-co-gcp-project";
static final String TRIP_ID = "trip-8241890";

String tripName = "providers/" + PROJECT_ID + "/trips/" + TRIP_ID;

TripServiceBlockingStub tripService = TripServiceGrpc.newBlockingStub(channel);

// Delete trip request.
DeleteTripRequest deleteTripRequest = DeleteTripRequest.newBuilder()
    .setName(tripName)
    .build();

// Error handling.
try {
  tripService.deleteTrip(deleteTripRequest);
} catch (StatusRuntimeException e) {
  Status s = e.getStatus();
  switch (s.getCode()) {
    case NOT_FOUND:            // The trip doesn't exist.
      break;
    case FAILED_PRECONDITION:  // Trip is active and assigned to a vehicle.
      break;
    case PERMISSION_DENIED:
      break;
  }
  return;
}

טיפול בשגיאות

כשמוחקים נסיעה, יכול להיות שתיתקלו בשגיאה FAILED_PRECONDITION. במקרה כזה, הנסיעה פעילה ומשויכת לרכב.
כדי להמשיך במחיקה, צריך להתקשר אל UpdateTrip ולעדכן את trip_status לCOMPLETE/CANCELED.

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