一般的な問題のトラブルシューティング

問題が発生した場合は、以下のセクションを参照してください。

Fleet Engine でステータスが失われた

Fleet Engine を使用する場合は、障害を予測して実装を設計します。たとえば、車両を更新するリクエストを Fleet Engine に発行すると、車両が存在しないことを示すエラーが返されることがあります。実装では、新しい状態の車両を再作成する必要があります。

Fleet Engine に致命的な障害が発生した場合は、ほとんどまたはすべての車両とタスクを再作成する必要があります。作成レートが高すぎると、サービス拒否(DoS)攻撃を回避するために割り当てチェックが実施されているため、割り当ての問題により一部のリクエストが再度失敗する可能性があります。この場合、再試行のバックオフ戦略を使用して、再作成頻度を遅らせます。

再試行数

リクエストが失敗することがあるため、Fleet Engine へのリクエストの再試行をシステムに実装してください。Fleet Engine クライアント ライブラリは、デフォルトで再試行を行います。

ドライバー アプリの状態が失われる

ドライバ アプリがクラッシュした場合、アプリは Driver SDK 内で現在の状態を再作成する必要があります。アプリは、タスクが存在することを確認して現在の状態を復元するために、タスクの再作成を試行する必要があります。また、アプリは、Driver SDK の停留所のリストを再作成して明示的に設定する必要があります。

: これらの復元は、エンティティがデータベースにすでに存在するかどうかとそのタイミングを示すエラーを除き、Fleet Engine の情報に依存せずに自動的に行う必要があります。エンティティがすでに存在する場合は、そのエラーを吸収し、ID を使用してエンティティを更新できます。