De reden was in ons geval:Sidekiq zoekt mogelijk naar de verkeerde wachtrij. Sidekiq gebruikt standaard een wachtrij met de naam "default". We hebben twee verschillende wachtrijnamen gebruikt en deze gedefinieerd in config/sidekiq.yml
# configuration file for Sidekiq
:queues:
- queue_name_1
- queue_name_2
Het probleem is dat dit configuratiebestand niet automatisch wordt geladen standaard in uw ontwikkelomgeving (in tegenstelling tot database.yml
of thinking_sphinx.yml
bijvoorbeeld) door een eenvoudige bundle exec sidekiq
opdracht. Zo schreven we onze jobs in twee bepaalde wachtrijen, en Sidekiq wachtte op jobs in een derde wachtrij (de standaardwachtrij). U moet het pad naar het configuratiebestand als parameter doorgeven via de -C
of --config
optie:
bundle exec sidekiq -C ./config/sidekiq.yml
of u kunt de wachtrijnamen direct doorgeven (geen spaties toegestaan hier na de komma):
bundle exec sidekiq -q queue_name_1,queue_name_2
Om het probleem te achterhalen is het handig om de optie -v
. door te geven of --verbose
ook op de opdrachtregel, of om :verbose: true
. te gebruiken in de sidekiq.yml
het dossier. Alles wat in een configuratiebestand is gedefinieerd, is natuurlijk nutteloos als het configuratiebestand niet is geladen. Zorg er daarom voor dat u eerst het juiste configuratiebestand gebruikt.