Powód był w naszym przypadku:Sidekiq może szukać niewłaściwej kolejki. Domyślnie Sidekiq używa kolejki o nazwie „default”. Użyliśmy dwóch różnych nazw kolejek i zdefiniowaliśmy je w config/sidekiq.yml
# configuration file for Sidekiq
:queues:
- queue_name_1
- queue_name_2
Problem polega na tym, że ten plik konfiguracyjny nie jest automatycznie ładowany domyślnie w twoim środowisku programistycznym (w przeciwieństwie do database.yml
lub thinking_sphinx.yml
na przykład) przez prosty bundle exec sidekiq
Komenda. Tak więc napisaliśmy nasze zadania w dwóch określonych kolejkach, a Sidekiq czekał na zadania w trzeciej kolejce (domyślnej). Musisz przekazać ścieżkę do pliku konfiguracyjnego jako parametr przez -C
lub --config
opcja:
bundle exec sidekiq -C ./config/sidekiq.yml
lub możesz przekazać nazwy kolejek bezpośrednio (po przecinku nie można tu spacji):
bundle exec sidekiq -q queue_name_1,queue_name_2
Aby znaleźć problem, warto przekazać opcję -v
lub --verbose
również w wierszu poleceń lub użyć :verbose: true
w sidekiq.yml
plik. Wszystko, co jest zdefiniowane w pliku konfiguracyjnym, jest oczywiście bezużyteczne, jeśli plik konfiguracyjny nie jest załadowany. Dlatego najpierw upewnij się, że używasz właściwego pliku konfiguracyjnego.