Подтвердить что ты не робот

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

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

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

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

gem 'sidekiq'

И я запустил bundle 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!

Я не получаю никаких ошибок, но электронные письма никогда не отправляются.

Итак, я что-то пропустил?

4b9b3361

Ответ 1

Вам нужно загрузиться sidekiq с очереди почтовых ящиков, чтобы получить эти задания:

bundle exec sidekiq -q default -q mailers

The Sidekiq Wiki описывает сценарии здесь.

Ответ 2

Также вы можете изменить config/sidekiq.yml:

---
:concurrency: 25
:pidfile: ./tmp/pids/sidekiq.pid
:logfile: ./log/sidekiq.log
:queues:
  - default
  - mailers

И запустите sidekiq -C config/sidekiq.yml