Rails 4.2-Sidekiq не отправляет электронные письма в разработке

у меня есть приложение rails, в котором у меня есть метод, где я отправляю много писем. Я хотел бы выполнить это действие asynchronously. Для этого я попытался использовать Sidekiq, но я не могу заставить его работать должным образом - он не отправляет никаких писем.

отправка электронной почты работала раньше, поэтому я уверен, что мои настройки электронной почты установлены правильно.

в своем gemfile у меня есть это:

gem 'sidekiq'

и я bundle install. У меня также есть install redis, следовал инструкция о RailsCasts #366.

Я начал sidekiq со следующей командой:bundle exec sidekiq, это привело к тому, что можно увидеть на изображении ниже:

enter image description here

на 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