24

您可以通过添加 :queue 作为可选参数来指定在 ActionMailer 中调用 Deliver_later 时使用哪个队列,例如:

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

对于所有 ActionMailers,有没有办法以一般方式执行此操作?设置默认的 ActionMailer 队列?

4

1 回答 1

45

在 Rails 5 之前

查看 Rails 的源代码,您可以看到他们已经将默认队列名称设置为“邮件程序”。

尽管如此,如果您想更改该默认值,您始终可以通过在初始化程序或加载的 lib 文件中包含以下代码来覆盖它:

class ActionMailer::DeliveryJob
  queue_as :default_mailer_queue
end

从 Rails 5 开始

Rails 5 允许您通过简单的配置来设置默认队列命名。

例如添加到你application.rb

config.action_mailer.deliver_later_queue_name = 'default_mailer_queue'
于 2015-02-13T16:37:34.067 回答