Более 3 миллионов зачисленных в очередь заданий отображаются в Sidekiq? Как остановить создание очереди?

Теперь 3 тысячи, после того как я только что очистил все из них

Я пытался найти какие-либо настройки чата или сводки в панели администратора, но ничего не нашел.

Есть ли идеи, откуда они берутся? :sob:

P.s. эти задания делают мой сайт чрезвычайно медленным :sob:

Что находится во вкладке Retries в Sidekiq?

Здесь выполняется повторная попытка выполнения 6 заданий. Это приемлемое число, и я знаю причину.

Если же их количество исчисляется тысячами, это плохо, и необходимо предпринять действия.

Есть ли ошибки в логах электронной почты или в логах ошибок сервера /logs?

О чём стоит подумать:

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

это ноль

и, судя по журналу, проблем, связанных с электронной почтой, не наблюдается.

Есть ли какая-то настройка, связанная с резюме чата, которую можно отключить, или мне просто отключить чат?

Вся очередь состоит в основном из задач UserEmail?

Проверьте панель управления вашего почтового сервиса (у вашего провайдера почтовых услуг, а не в Discourse) и посмотрите, есть ли там какая-либо информация.

Да, почти все они связаны с задачами пользователей по электронной почте.

Я проверил Mailgun (4 запущенных экземпляра в моей учетной записи).

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

Есть ли у них журнал аудита? Можно ли увидеть последовательность непрерывно отправленных писем?

Когда было отправлено последнее письмо?

так?

а последнее должно быть 12 минут назад

Итак, некоторые проходят, но обрабатываются ли они достаточно быстро?

Как я могу это проверить?

В Discourse (admin/email/sent) я увидел, что электронное письмо с обзором чата отправлялось с низкой частотой — максимум 5–6 раз в день, чаще всего всего 1 раз или вообще не отправлялось. :sob: Почему тогда в Sidekiq создается так много задач?

Посмотрите логи электронной почты в админ-панели — это может прояснить ситуацию.

Одна вещь, которую я заметил: проблема с очередью Sidekiq началась сразу после обновления до версии 3.4.0.beta4-dev. Похоже, что и на другом экземпляре, установленном примерно в то же время, возникла та же проблема (сейчас подтверждаю).

Также посмотрел на идентификаторы: кажется, система пытается отправить сводку чата всем пользователям :thinking:
Это нормально?

Обновление:
Отключение чата предотвращает повторное добавление этих задач в очередь, но мой сайт в какой-то мере нуждается в функции чата, и я всё ещё ищу другие решения.

Ещё одно обновление:
Я отключил функцию чата на 2 дня, затем снова включил её и изменил настройку «Дни хранения канала чата» с 180 на 3 дня. Теперь всё, кажется, работает нормально, но я всё ещё буду следить за этим.

Обновление 02/01:

Я установил дни хранения на 7. Сейчас в очереди около 1 101 685 задач. Похоже, мой сервер справляется с таким объёмом, и сайт не начинает работать медленно.

@th21 Сколько у вас пользователей и чат-каналов?

Как быстро (или медленно :cry:) обрабатывается очередь low?

9 тысяч пользователей и 3 канала (включая 1 канал для сотрудников по умолчанию)

это текущее состояние

до внесения указанных выше изменений размер очереди low, казалось, никогда не уменьшался

Извините за это, @th21 — это действительно была ошибка, которая будет исправлена в

У нас был запрос, который перечисляет всех «пользователей с непрочитанными» упоминаниями или личными сообщениями в чате. Пытаясь быть слишком хитрыми, мы допустили ошибку. Вместо того чтобы поставить в очередь «сводку чата» (то есть уведомление по электронной почте) для упоминаний в каналах или непрочитанных сообщений в личных переписках, мы ставили в очередь задачу для каждого сообщения :expressionless: Поскольку эта задача выполнялась каждые 5 минут, она легко переполняла Sidekiq бесполезными задачами… (примечание: к счастью, письма не отправлялись, так как мы не смогли бы извлечь какие-либо упоминания).

Спасибо! Когда ожидается слияние этого коммита в ветку test-passed?

< 48 часов

@th21 это было проверено и слито :+1: