問題が発生した場合は、以下のセクションを参照してください。
Fleet Engine のステータスが失われた
Fleet Engine を使用する場合は、障害を想定して実装を設計します。たとえば、車両を更新するリクエストを Fleet Engine に発行すると、車両が存在しないことを示すエラーが返されることがあります。実装では、新しい状態の車両を再作成する必要があります。
Fleet Engine の致命的な障害が発生した場合は、ほとんどまたはすべての車両とタスクを再作成する必要があります。作成レートが高すぎると、サービス拒否(DoS)攻撃を回避するために割り当てチェックが実施されているため、割り当ての問題により一部のリクエストが再度失敗する可能性があります。この場合は、再試行のバックオフ戦略を使用して再作成の頻度を下げます。
再試行数
Fleet Engine へのリクエストは失敗することがあるため、システムで再試行を実装してください。Fleet Engine クライアント ライブラリはデフォルトで再試行を発行します。
ドライバー アプリの紛失状態
ドライバ アプリがクラッシュした場合、アプリは Driver SDK 内で現在の状態を再作成する必要があります。アプリは、タスクが存在することを確認して現在の状態を復元するために、タスクの再作成を試行する必要があります。また、アプリは、Driver SDK の停留所のリストを再作成して明示的に設定する必要があります。
注: これらの復元は、エンティティがデータベースにすでに存在するかどうかとそのタイミングを示すエラーを除き、Fleet Engine の情報に依存せずに自動的に行う必要があります。エンティティがすでに存在する場合は、そのエラーを吸収し、ID を使用してエンティティを更新できます。