Письма в режиме рассылки не отправляются для некоторых первых постов

В своей основной работе я использую Django-приложение с Celery для очередей, которое использует Redis в качестве бэкенда. При каждом деплое задачи просто «исчезают» и пропадают. И нам приходится встраивать обновление/деплой между длительными задачами клиента.

Я заменяю всё это на очередь на основе базы данных с использованием формальной конечной автоматы, а Celery использую только для этапа «выполнить задачу прямо сейчас». Это даёт мне постоянное состояние, возможность запускать задачи напрямую (то есть не используя Celery как очередь), и состояние не является временным в Redis.

Вот диаграмма состояний, которую я использую:

С уважением,
Cameron

Вот ещё один пример: Mental block, simple question - Python Help - Discussions on Python.org

Я получил ответ от Айвара (пост 2), но не от автора оригинального сообщения.

С уважением,
Кэмерон

1 лайк

Спасибо, Кэмерон. Я сосредоточусь на этом, так как логирование снова включено. Пока ничего очевидного: ошибок или неудачных фоновых задач, которые я мог бы заметить, нет, и из логики кода не видно ничего, что намеренно пропускало бы эти письма. Что касается этой темы — никому не было отправлено письмо для автора темы (OP), что довольно интересно; похоже, задача даже не была помещена в очередь с самого начала. Буду продолжать искать и сообщу вам.

1 лайк

@cameron-simpson Мы изучили этот вопрос подробнее, и проблема заключается в нашей системе очереди модерации. Например, в случае с Mental block, simple question - Python Help - Discussions on Python.org сообщение было помечено как «спам» системой Akismet, из-за чего оно требовало одобрения администратором. Когда администратор одобряет сообщение, письма в режиме рассылки не добавляются в очередь. После исправления этой ошибки проблема должна исчезнуть. Я смогу заняться этим в ближайшие пару недель.

3 лайка

Великолепно! Спасибо, Кэмерон

3 лайка

Я применил это исправление сегодня, @cameron-simpson. Сегодня же я разверну и Python. Если вы сможете сообщить о любых новых случаях возникновения этой проблемы, это было бы отлично :+1: Однако, думаю, это должно решить проблему:

https://github.com/discourse/discourse/pull/19888

2 лайка

Спасибо! Я буду продолжать следить за этим. — Кэмерон Симпсон cs@cskk.id.au

2 лайка