Причината беше в нашия случай:Sidekiq може да търси грешната опашка. По подразбиране Sidekiq използва опашка с име "по подразбиране". Използвахме две различни имена на опашката и ги дефинирахме в config/sidekiq.yml
# configuration file for Sidekiq
:queues:
- queue_name_1
- queue_name_2
Проблемът е, че този конфигурационен файл не се зарежда автоматично по подразбиране във вашата среда за разработка (за разлика от database.yml
или thinking_sphinx.yml
например) чрез обикновен bundle exec sidekiq
команда. Така написахме нашите задачи в две определени опашки, а Sidekiq чакаше задачи в трета опашка (по подразбиране). Трябва да подадете пътя до конфигурационния файл като параметър през -C
или --config
опция:
bundle exec sidekiq -C ./config/sidekiq.yml
или можете да предадете директно имената на опашката (тук след запетаята не са разрешени интервали):
bundle exec sidekiq -q queue_name_1,queue_name_2
За да откриете проблема, е полезно да предадете опцията -v
или --verbose
на командния ред също или да използвате :verbose: true
в sidekiq.yml
файл. Всичко, което е дефинирано в конфигурационен файл, разбира се, е безполезно, ако конфигурационният файл не е зареден. Затова първо се уверете, че използвате правилния конфигурационен файл.