我在过去的 4 天里开始遇到一些关于电子邮件发送的新问题。不确定是否应该继续这个话题或开始一个新的,但目前我会继续这个话题。
我最近在这个问题发生的时间点,从命令行进行了一次完整的网站更新。
- 没有用户收到任何关于网站活动的通知邮件。
- SMTP 发送似乎正常,邮件投递测试立即成功。
- Sidekiq 显示有数千个排队的任务,定期重试但一直失败。(有超过 7000 个任务被排队)
- 日志中显示一个非常显著且频繁的错误:Job 异常:
UserDestroyer::PostsExistError— 我在 Meta 上查询过,但自从至少 2017 年最后一篇提到此问题的帖子以来,没有其他人遇到类似问题。(过去 4 天内有超过 9000 个错误)
[详细的完整堆栈追踪]
/var/www/discourse/app/services/user_destroyer.rb:18:在 `destroy`
/var/www/discourse/app/jobs/onceoff/fix_primary_emails_for_staged_users.rb:23:在 `block (2 levels) in execute_onceoff`
activerecord-7.2.2.1/lib/active_record/relation/delegation.rb:98:在 `each`
activerecord-7.2.2.1/lib/active_record/relation/delegation.rb:98:在 `each`
/var/www/discourse/app/jobs/onceoff/fix_primary_emails_for_staged_users.rb:21:在 `block in execute_onceoff`
/var/www/discourse/app/jobs/onceoff/fix_primary_emails_for_staged_users.rb:14:在 `each_key`
/var/www/discourse/app/jobs/onceoff/fix_primary_emails_for_staged_users.rb:14:在 `execute_onceoff`
/var/www/discourse/app/jobs/onceoff/onceoff.rb:35:在 `execute`
/var/www/discourse/app/jobs/base.rb:316:在 `block (2 levels) in perform`
rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:在 `with_connection`
rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:21:在 `with_connection`
/var/www/discourse/app/jobs/base.rb:303:在 `block in perform`
/var/www/discourse/app/jobs/base.rb:299:在 `each`
/var/www/discourse/app/jobs/base.rb:299:在 `perform`
sidekiq-6.5.12/lib/sidekiq/processor.rb:202:在 `execute_job`
sidekiq-6.5.12/lib/sidekiq/processor.rb:170:在 `block (2 levels) in process`
sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:177:在 `block in invoke`
/var/www/discourse/lib/sidekiq/pausable.rb:132:在 `call`
sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:179:在 `block in invoke`
sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:182:在 `invoke`
sidekiq-6.5.12/lib/sidekiq/processor.rb:169:在 `block in process`
sidekiq-6.5.12/lib/sidekiq/processor.rb:136:在 `block (6 levels) in dispatch`
sidekiq-6.5.12/lib/sidekiq/job_retry.rb:113:在 `local`
sidekiq-6.5.12/lib/sidekiq/processor.rb:135:在 `block (5 levels) in dispatch`
sidekiq-6.5.12/lib/sidekiq.rb:44:在 `block in module:Sidekiq`
sidekiq-6.5.12/lib/sidekiq/processor.rb:131:在 `block (4 levels) in dispatch`
sidekiq-6.5.12/lib/sidekiq/processor.rb:263:在 `stats`
sidekiq-6.5.12/lib/sidekiq/processor.rb:126:在 `block (3 levels) in dispatch`
sidekiq-6.5.12/lib/sidekiq/job_logger.rb:13:在 `call`
sidekiq-6.5.12/lib/sidekiq/processor.rb:125:在 `block (2 levels) in dispatch`
sidekiq-6.5.12/lib/sidekiq/job_retry.rb:80:在 `global`
sidekiq-6.5.12/lib/sidekiq/processor.rb:124:在 `block in dispatch`
sidekiq-6.5.12/lib/sidekiq/job_logger.rb:39:在 `prepare`
sidekiq-6.5.12/lib/sidekiq/processor.rb:123:在 `dispatch`
sidekiq-6.5.12/lib/sidekiq/processor.rb:168:在 `process`
sidekiq-6.5.12/lib/sidekiq/processor.rb:78:在 `process_one`
sidekiq-6.5.12/lib/sidekiq/processor.rb:68:在 `run`
sidekiq-6.5.12/lib/sidekiq/component.rb:8:在 `watchdog`
sidekiq-6.5.12/lib/sidekiq/component.rb:17:在 `block in safe_thread`
[/详情]
有人能提出下一步的调试和处理建议吗?