в контроллере вызывается DeliveryWorker.perform_async(@invoice.id)
файл delivery_worker.rb расположен в папке app/workers
команда puts ActiveSupport::Dependencies.autoload_paths говорит о том, что в автозагрузку app/workers попадает.
Т.е. по факту сейчас воркер работает. Но только после того, как я перезапустил sidekiq.
Остальные воркеры не отваливаются.
В чем может быть причина того, что воркер отваливается? куда можно посмотреть?
P.S.Эта ошибка должна отработать в контроллере же, я правильно понимаю? ведь DeliveryWorker в контроллере. Т.е. отображаться не в логах sidekiq, а в логах приложения.
Не должна она отработать в контроллере. В этом то и смысл асинхронного выполнения. Он выполняется sidekiq-ом. И ошибка должна быть в логах sidekiq-а. В контроллере лишь создаётся задача для выполнения.
Слушайте, вспоминаю что что-то такое было, но это была очень простая ошибка - то ли нейминг файла и класса не совпадал, ,то ли папка с воркерами не подгружалась.
То есть то, что он не видит его из консоли означает что этот worker просто не видим для приложения.