Устранение неполадок

Если у вас возникли какие-либо проблемы, обратитесь к следующим разделам.

Потерянное состояние в Fleet Engine

При работе с Fleet Engine проектируйте реализацию так, чтобы предвидеть сбои. Например, если вы отправляете запрос в Fleet Engine на обновление транспортного средства, он может ответить ошибкой, указывающей на то, что транспортное средство не существует. Затем ваша реализация должна воссоздать транспортное средство в новом состоянии.

В крайне маловероятном сценарии катастрофического отказа Fleet Engine вам может потребоваться повторно создать большинство или все транспортные средства и задачи. Если скорость создания станет слишком высокой, некоторые запросы могут снова завершиться неудачей из-за проблем с квотами, поскольку проверки квот используются для предотвращения атак типа «отказ в обслуживании» (DOS). В этом случае замедлите скорость воссоздания, используя стратегию отсрочки для повторных попыток.

Повторные попытки

Убедитесь, что ваша система реализует повторные попытки для запросов к Fleet Engine, поскольку они могут иногда давать сбои. Клиентские библиотеки Fleet Engine по умолчанию инициируют повторные попытки.

Потеряно состояние в приложении водителя

Если приложение водителя падает, приложение должно воссоздать текущее состояние в Driver SDK. Приложение должно попытаться воссоздать задачи, чтобы убедиться, что они существуют, и восстановить их текущие состояния. Приложение также должно воссоздать и явно задать список остановок для Driver SDK.

Примечание : эти восстановления должны выполняться автономно, не полагаясь на информацию из Fleet Engine, за исключением ошибок, указывающих, существует ли сущность в базе данных и когда она уже существует. Если сущность уже существует, то эта ошибка может быть поглощена, и сущность может быть обновлена ​​с использованием ее идентификатора.