Разделите причины
Проверьте формат запроса, авторизацию, существование сущности и ограничения частоты. Сетевой таймаут не доказывает, что операция не выполнена. Конкретный код ошибки трактуйте по документации API, а не по универсальной таблице из чужого сервиса.
Ограничьте повтор
Для временных сбоев задайте задержку, число попыток и защиту от повторного действия. Некорректные данные передайте на исправление. Не ставьте постоянную ошибку обратно в очередь бесконечно.
Сохраните контекст
В журнале полезны ID операции, аккаунт, метод, время и обезличенная причина. Ключи доступа и полный текст личной переписки для этого обычно не нужны. Добавьте оповещение о росте очереди и возможность повторить конкретное событие после исправления.
Пример проверки
Повтор после таймаута использует тот же ключ операции. После исправления неверного адресата создаётся новая осмысленная команда.
Перед следующим шагом
- Причины ошибок различаются
- Повторы ограничены
- Журнал позволяет найти операцию