Setting a default queue for ActionMailer deliver_later?

给你一囗甜甜゛ 提交于 2019-12-12 08:20:39

问题


You can specify which queue to use when calling deliver_later in an ActionMailer by adding :queue as optional argument, e.g.:

Notifier.welcome(User.first.id).deliver_later(queue: "low")

Is there a way to do this in a general way, for all ActionMailers? To set the default ActionMailer queue?


回答1:


Before Rails 5

Looking through Rails' source code you can see that they already set the default queue name as 'mailers'.

Still, if you want to change that default you can always override it by including the following code in an initialiser or loaded lib file:

class ActionMailer::DeliveryJob
  queue_as :default_mailer_queue
end

Since Rails 5

Rails 5 allows you to set the default queue naming by simply configuring it.

E.g. add to you application.rb:

config.action_mailer.deliver_later_queue_name = 'default_mailer_queue'


来源:https://stackoverflow.com/questions/28245914/setting-a-default-queue-for-actionmailer-deliver-later

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!