Срабатывание по умолчанию Watch вызвало огромный объем писем - default_watch_categories

3.1.0.beta5 - [09feb03056]


Параметр default_watch_categories был изменён с значения по умолчанию (которое, насколько я помню, отсутствует) на одну категорию, вероятно, впервые в истории.

Это вызвало огромный поток писем: в течение трёх дней было обработано почти 400 тысяч повторных попыток отправки, из которых более 9% не удалось доставить. Очень быстро это привело к срабатыванию ограничений по частоте отправки на стороне SMTP-провайдеров (что спасло от огромного непреднамеренного счёта за рассылку!).

Настройка default_watch_categories была сброшена, так как была изменена по ошибке.

Однако Sidekiq по-прежнему показывал огромный объём повторных попыток отправки писем, поскольку ограничения по частоте отправки со стороны SMTP-провайдера всё ещё действовали: система продолжала пытаться отправить письма и получать отказы.

При более тщательном анализе выяснилось, что теперь именно один пост непрерывно вызывал отправку одного и того же письма снова и снова — сотни, а затем и тысячи повторных попыток, даже несмотря на то, что default_watch_categories был возвращён к значению по умолчанию. Что происходило?

Как только этот пост и другие ниже него были разделены на отдельные «новые» темы по обычным причинам модерации, триггер отправки писем и повторные попытки немедленно прекратились — как приятный бонус. Повторных попыток больше не было.

Слава небесам за ограничения по частоте отправки со стороны SMTP-провайдеров!

Как дополнительная информация — это было обнаружено только после сбоя из-за ограничений поставщика SMTP. Возможно, было бы полезно добавить в панель управления более наглядную статистику отправки электронной почты за последние 7 дней, 24 часа и последний час, а также оповещения о любых резких скачках.

Подобные ситуации могут привести к значительным финансовым потерям.

Если бы у поставщика не сработали ограничения по частоте запросов, это могло бы «съесть» наши расходы на хостинг за несколько лет всего за пару дней! :crazy_face:

Привет, @agemo

Не мог бы ты проверить для меня эту настройку сайта на твоём инстансе?

Это настройка по умолчанию для пользователей. Пользователи могут переопределить её в своём профиле:

Вот что, как я думаю, произошло:

  1. У вас установлена настройка по умолчанию always или only when away;
  2. Тема была создана в отслеживаемой категории. Система хотела уведомить всех пользователей или только отсутствующих;
  3. Было создано множество заданий Sidekiq, которые падали из-за ограничений скорости;
  4. Отслеживаемая категория по умолчанию была удалена, но это не удаляет уже поставленные в очередь задания Sidekiq;
  5. Sidekiq отменяет неудачные задания;
  6. Когда пост был перемещён в новую тему, ранее созданные некорректно уведомления были удалены;
  7. При удалении уведомлений повторные попытки выполнения заданий завершились успешно без отправки писем.
3 лайка

default_email_level: только при отсутствии

deafult_email_message_level: никогда

1 лайк