Důvod byl v našem případě:Sidekiq může hledat špatnou frontu. Ve výchozím nastavení používá Sidekiq frontu s názvem „výchozí“. Použili jsme dva různé názvy front a definovali je v config/sidekiq.yml
# configuration file for Sidekiq
:queues:
- queue_name_1
- queue_name_2
Problém je v tom, že tento konfigurační soubor není automaticky načten ve výchozím nastavení ve vašem vývojovém prostředí (na rozdíl od database.yml
nebo thinking_sphinx.yml
například) jednoduchým bundle exec sidekiq
příkaz. Zapsali jsme tedy své úlohy do dvou určitých front a Sidekiq čekal na úlohy ve třetí frontě (výchozí). Cestu ke konfiguračnímu souboru musíte předat jako parametr přes -C
nebo --config
možnost:
bundle exec sidekiq -C ./config/sidekiq.yml
nebo můžete předat názvy front přímo (zde za čárkou nejsou povoleny mezery):
bundle exec sidekiq -q queue_name_1,queue_name_2
K nalezení problému je užitečné předat volbu -v
nebo --verbose
také na příkazovém řádku, nebo použijte :verbose: true
v sidekiq.yml
soubor. Vše, co je definováno v konfiguračním souboru, je samozřejmě k ničemu, pokud konfigurační soubor není načten. Proto se nejprve ujistěte, že používáte správný konfigurační soubor.