✅ Примечание: Данный механизм применим, если у пользователя в веб-хуке отмечена флажком «Повторять в случае ошибки» (отмечена по умолчанию). |
Шаг 1: Запись неотправленного веб-хука в базу данных
Когда ваш веб-хук не доходит до цели по какой-то причине, он записывается в таблицу с пометкой о неудачной отправке.
Шаг 2: Учёт попыток повторной отправки
Отдельно записывается количество попыток повторной отправки для каждого неотправленного веб-хука.
Шаг 3: Попытка переотправки веб-хука
Когда веб-хук оказывается в очереди на повторную отправку, то он берётся в обработку. Переотправка происходит по следующему алгоритму:
- Рассчитывается время задержки перед каждой попыткой повторной отправки по формуле: 2^n, где 2 — количество секунд, n — номер попытки переотправки.
- Значение n достигает максимального предела в 15 попыток, после чего в случае 15 неудачных отправок веб-хук больше не будет пытаться повторно отправляться.
- Между 14-й и 15-й попытками отправки проходит приблизительно 9 часов.
- В общей сложности для 15 попыток повторной отправки уходит примерно 18 часов.
Также см.:
Статья помогла?
Отлично!
Спасибо за ваш отзыв
Извините, что не удалось помочь!
Спасибо за ваш отзыв
Комментарий отправлен
Мы ценим вашу помощь и постараемся исправить статью