sql >> Database >  >> NoSQL >> Redis

Sidekiq verwerkt wachtrij niet

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.



  1. MongoDB Security - Middelen om NoSQL DB's veilig te houden

  2. Mongo gemiddelde aggregatiequery zonder groep

  3. Hoe SCAN te gebruiken met de MATCH-optie in Predis

  4. 4 manieren om een ​​document in MongoDB te verwijderen