Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Sidekiq não está processando fila


O motivo foi no nosso caso:o Sidekiq pode procurar a fila errada. Por padrão, o Sidekiq usa uma fila chamada "padrão". Usamos dois nomes de filas diferentes e os definimos em config/sidekiq.yml
# configuration file for Sidekiq
:queues:
  - queue_name_1
  - queue_name_2

O problema é que este arquivo de configuração não é carregado automaticamente por padrão em seu ambiente de desenvolvimento (ao contrário de database.yml ou thinking_sphinx.yml por exemplo) por um simples bundle exec sidekiq comando. Assim, escrevemos nossos trabalhos em duas determinadas filas, e o Sidekiq estava aguardando trabalhos em uma terceira fila (a padrão). Você tem que passar o caminho para o arquivo de configuração como um parâmetro através do -C ou --config opção:
bundle exec sidekiq -C ./config/sidekiq.yml

ou você pode passar os nomes das filas diretamente (sem espaços permitidos aqui após a vírgula):
bundle exec sidekiq -q queue_name_1,queue_name_2

Para descobrir o problema é útil passar a opção -v ou --verbose na linha de comando também, ou usar :verbose: true no sidekiq.yml Arquivo. Tudo o que é definido em um arquivo de configuração é obviamente inútil se o arquivo de configuração não estiver carregado. Portanto, certifique-se de estar usando o arquivo de configuração correto primeiro.