Можно ли настроить лимит количества сводных писем, которые можно отправить за период до 1 часа?
(извините за плохой английский)
Не совсем понимаю, о чём вы говорите, но для получения более подробной информации о сводных письмах и принципах их работы перейдите по ссылке: Configuring Activity Summary emails
Скорее всего, его почтовый провайдер ограничивает отправку до x писем в час, и он хочет убедиться, что Discourse отправляет меньше этого количества.
Вот ответ на похожий вопрос: How to set Email sending speed limit? - #2 by pfaffman
Да, @Jonathan5, я хотел об этом спросить. Спасибо за информацию. Я изучу эту тему.
Да, в настоящее время это легко настроить для дайджест-писем с помощью глобальной настройки Discourse. Например, чтобы установить лимит дайджестов на 40 в час, добавьте следующее в файл сборки вашего контейнера:
DISCOURSE_MAX_DIGESTS_ENQUEUED_PER_30_MINS_PER_SITE: 20
Эта глобальная настройка Discourse для дайджестов по умолчанию составляет 10 000 каждые 30 минут, и если у вас огромное количество пользователей, это может привести к отправке большого числа дайджестов.
На нашем сайте мы используем SendGrid (платный тариф) для отправки примерно 100 000 дайджестов в месяц, плюс-минус, поэтому мы установили значение так:
100 000 разделить на 30 дней в месяце, разделить на 24 часа в сутки, разделить на 2 раза в час, что составляет примерно: 60 дайджестов за 30 минут, и всё работает стабильно.
См. также:
Примечание: Это требует пересборки контейнера / запуска процесса инициализации, поэтому учтите это перед внесением изменений.
@neounix большое спасибо. У меня была проблема с электронной почтой, потому что у меня слишком много пользователей. Я купил собственный почтовый сервер. Там есть ограничение в 800 писем в час. У меня всё ещё была проблема.
Пожалуйста, @ozkn!!
Просто установите глобальную настройку Discourse на значение меньше 400 писем за 30 минут, и всё должно работать.
Мы запускаем дайджесты через «отдельный SMTP-канал» на основе плагина, который я написал с использованием патчей; но так как вы используете стандартную конфигурацию «одного SMTP-канала», вам, естественно, возможно, потребуется установить ещё более низкий лимит.
Я не стал рисковать и установил значение 75. Таким образом, отправляется 108 000 писем в месяц.
Рассылки сводок по электронной почте в месяц…
Эта глобальная настройка применяется только к сводкам.
![]()
Привет, @ozkn
Кстати, просто хотел сообщить.
Я применил monkey-патч к задаче EnqueueDigestEmails в нашей основной установке Discourse и изменил интервал выполнения задачи дайджеста на каждые 5 минут вместо стандартных для Discourse жёстко заданных 30 минут.
В нашем случае это позволило установить глобальную переменную ограничения дайджеста на 10 и отправлять по 10 дайджестов каждые 5 минут вместо 60 каждые 30 минут. Это дало мне несколько, на мой взгляд, незначительных преимуществ:
- нагрузка при отправке 10 писем за раз меньше, чем при отправке 60 (или, например, 50 вместо 300).
- лог-файл отправленных писем администратору становится проще читать с первого взгляда.
- при пересборке контейнера задача всегда запускается «при старте», поэтому меньшее количество отправляемых дайджестов смягчило начальную нагрузку от запуска задачи (поскольку мне не удалось найти способ заставить конфигурацию Discourse пропустить первоначальный запуск задачи после пересборки контейнера).
Это очень незначительные преимущества, поэтому я не рекомендую большинству людей применять monkey-патч к задаче дайджеста ради такого небольшого субъективного выигрыша. Однако я предпочитаю интервал в 5 минут вместо 30, и после нескольких дней тестирования monkey-патч работает отлично, поэтому мы решили остаться на интервале каждые 5 минут.
Просто хотел поделиться этой «мелочью» для вашего рассмотрения ![]()
@neounix Спасибо за ваше предложение. Где именно можно сделать эту настройку?
Спасибо большое @neounix
Пожалуйста, @ozkn.
Если вам понадобится дополнительная помощь с этим патчем-обходным решением, поскольку изменение интервала очереди отправки дайджест-писем с 30 до 5 минут не поддерживается Discourse, пожалуйста, свяжитесь со мной в этой теме:
Я пока не превратил этот патч в «отполированный плагин» с файлом README и настройками сайта, но в будущем я могу сделать интервал настройкой сайта плагина, чтобы он не был жестко задан на 5 минут.