Rails 4.2-Sidekiq не отправляет электронные письма в разработке
у меня есть приложение rails, в котором у меня есть метод, где я отправляю много писем. Я хотел бы выполнить это действие asynchronously
. Для этого я попытался использовать Sidekiq
, но я не могу заставить его работать должным образом - он не отправляет никаких писем.
отправка электронной почты работала раньше, поэтому я уверен, что мои настройки электронной почты установлены правильно.
в своем gemfile
у меня есть это:
gem 'sidekiq'
и я bundle install
. У меня также есть install redis
, следовал инструкция о RailsCasts #366.
Я начал sidekiq
со следующей командой:bundle exec sidekiq
, это привело к тому, что можно увидеть на изображении ниже:
на application.rb
у меня есть следующие:
config.active_job.queue_adapter = :sidekiq
и я пытаюсь отправить электронные письма следующим образом:
Mailer.deliver_new_competition_notification(member.user, @competition).deliver_later!
Я не получаю никаких ошибок, но письма не отправляются.
так, я что-то пропустил?
2 ответов
вам нужно загрузить sidekiq с почтовой очередью, чтобы забрать эти задания:
bundle exec sidekiq -q default -q mailers
Sidekiq Wiki идет по сценариям в здесь.
Также вы можете изменить конфигурацию / sidekiq.в формате YML:
---
:concurrency: 25
:pidfile: ./tmp/pids/sidekiq.pid
:logfile: ./log/sidekiq.log
:queues:
- default
- mailers
и работать sidekiq -C config/sidekiq.yml