我正在将一个应用程序升级到Rails 6,并在解决所有破坏性更改后,现在在从后台作业发送电子邮件时遇到错误。
我通过ActiveJob使用Sidekiq,并且我相信我已经添加了必要的配置更改:
# config/application.rb
...
config.load_defaults 6.0
# config/initializers/new_framework_defaults_6_0.rb
...
Rails.application.config.action_mailer.delivery_job = "ActionMailer::MailDeliveryJob"
我使用
deliver_later
发送电子邮件,如:UserMailer.notify(user).deliver_later
一个重要的方面是,尽管出现错误,邮件确实已经被传送了。
错误消息:NameError:
uninitialized constant ActionMailer::MailDeliveryJob
Did you mean? ActionMailer::DeliveryJob
根据Rollbar的记录,错误发生在ActiveJob::QueueAdapters::SidekiqAdapter::JobWrapper
中。
非常感谢您的帮助!
ps -aux
命令查找旧的 Sidekiq 进程,在找到并杀死一个旧进程后,一切都开始正常工作了,没有错误。谢谢! - Lucas Moulin