Возможно, или что-то ещё, из-за чего дайджест оказывается пустым и, следовательно, не отправляется пользователям.
Я не знаю, как создаётся дайджест. Не знаю, учитывает ли он категории, которые пользователь игнорирует, или что-то подобное.
Предполагаю, что ваши пользователи не получат дайджест, если вы отправите его вручную через консоль Rails?
user = User.find_by(username: 'user-name')
Jobs.enqueue(:user_email, type: :digest, user_id: user.id)
Через несколько секунд после выполнения этой команды вы должны увидеть, что количество обработанных задач Sidekiq увеличилось на 1. Однако, если у вас большой форум, в любой момент может быть много задач Sidekiq, поэтому может быть сложно заметить увеличение.
Вы можете использовать кнопку «Live Poll» (Живой опрос), чтобы отслеживать это в реальном времени:
По моим тестам, если я запускаю скрипт Rails для отправки дайджеста пользователю, но сам дайджест пуст:
- потому что пользователь уже получил его ранее,
- или отключил электронные сводки в своём профиле,
- и так далее…
Тогда счётчик обработанных задач Sidekiq увеличится на единицу, но письмо не будет отправлено, и в /admin/email/sent не появится новой записи.
Возможно, стоит включить логирование обработанных задач Sidekiq, чтобы найти там какие-либо подсказки. Я немного поискал, но не уверен, что по умолчанию логируется информация о том, какие задачи были обработаны.
Мне кажется, что есть логичное и правильное объяснение тому, почему пользователи не получают дайджест. Задача может быть обработана, но дайджест оказывается пустым, что объясняет отсутствие следов его отправки.
Я бы ещё раз тщательно проверил настройки всех затронутых пользователей, их уровни уведомлений, отслеживаемые категории и тому подобное.