Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Sidekiq nie przetwarza kolejki

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.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak ustawić hasło dla Redis?

  2. Łączysz się bezpośrednio z Redis za pomocą (po stronie klienta) javascript?

  3. Błąd integracji Redis z JHipster CacheConfiguration

  4. Zduplikuj klucz w redis

  5. Redis nie może się połączyć w zajętym obciążeniu