Я изо всех сил пытаюсь заставить Heroku использовать Sidekiq в качестве обработчика заданий в производственной среде.
Локально - похоже, что Sidekiq выполняет задания электронной почты, как показано в журналах ниже из стандартного вывода Sidekiq:
2018-09-15T05:10:05.164Z 5256 TID-ovryxfcwc ActionMailer::DeliveryJob JID-156e566ba5bc0136ef18ee45 INFO: start
2018-09-15T05:10:06.838Z 5256 TID-ovryxfcwc ActionMailer::DeliveryJob JID-156e566ba5bc0136ef18ee45 INFO: done: 1.674 sec
2018-09-15T05:10:06.839Z 5256 TID-ovryxfcwc ActionMailer::DeliveryJob JID-c97af1298abad5b8caebfcd4 INFO: start
2018-09-15T05:10:06.935Z 5256 TID-ovryxfcwc ActionMailer::DeliveryJob JID-c97af1298abad5b8caebfcd4 INFO: done: 0.096 sec
2018-09-15T05:10:06.937Z 5256 TID-ovryxfcwc ActionMailer::DeliveryJob JID-0cca4280f85cd9f41325a2af INFO: start
2018-09-15T05:10:07.035Z 5256 TID-ovryxfcwc ActionMailer::DeliveryJob JID-0cca4280f85cd9f41325a2af INFO: done: 0.098 sec
Однако в процессе производства в Heroku журналы показывают, что все почтовые отправления выполняются Web Dyno. Я бы предположил, что Worker Dyno должен обрабатывать задание ActionMailer, но никогда не доходит до sidekiq.
В config / initializers / active_job.rb у меня есть:
Rails.application.config.active_job.queue_adapter = :sidekiq
В чем я ошибаюсь, заставляя мое приложение работать в производственной среде с sidekiq, как это происходит при тестировании?





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