您可以通过添加:queue作为可选参数来指定在ActionMailer中调用deliver_later时要使用的队列,例如:
Notifier.welcome(User.first.id).deliver_later(queue: "low")
对于所有ActionMailers,有没有办法以一般方式执行此操作?设置默认的ActionMailer队列?
答案 0 :(得分:37)
浏览Rails' source code您可以看到他们已将默认队列名称设置为' 邮件程序'。
但是,如果您想更改该默认值,您可以通过在初始化程序或加载的lib文件中包含以下代码来覆盖它:
class ActionMailer::DeliveryJob
queue_as :default_mailer_queue
end
Rails 5允许您通过简单配置来设置默认队列命名。
E.g。添加到您application.rb
:
config.action_mailer.deliver_later_queue_name = 'default_mailer_queue'