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

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

Fleet Engine の状態が失われた場合

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

Fleet Engine で壊滅的な障害が発生する可能性は非常に低いですが、その場合はほとんどまたはすべての車両とタスクを再作成する必要があります。作成率が高すぎると、サービス拒否攻撃(DoS)を防ぐために割り当てチェックが行われるため、割り当ての問題で一部のリクエストが再び失敗する可能性があります。この場合は、再試行のバックオフ戦略を使用して再作成率を下げてください。

再試行

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

ドライバー アプリの状態が失われた場合

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

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