Установка очереди по умолчанию для ActionMailer deliver_later?

Вы можете указать, какую очередь использовать при вызове deliver_later в ActionMailer, добавив: queue в качестве необязательного аргумента, например:

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

Есть ли способ сделать это в общем, для всех ActionMailers? Чтобы установить очередь ActionMailer по умолчанию?

Ответы

Ответ 1

До Rails 5

Просматривая исходный код вы можете видеть, что они уже задали имя очереди по умолчанию как почтовые программы.

Тем не менее, если вы хотите изменить это значение по умолчанию, вы всегда можете переопределить его, включив в инициализатор или загруженный файл 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'