sql >> Base de Datos >  >> NoSQL >> Redis

Sidekiq no procesa la cola

La razón fue en nuestro caso:Sidekiq puede buscar la cola incorrecta. De manera predeterminada, Sidekiq usa una cola denominada "predeterminada". Usamos dos nombres de cola diferentes y los definimos en config/sidekiq.yml

# configuration file for Sidekiq
:queues:
  - queue_name_1
  - queue_name_2

El problema es que este archivo de configuración no se carga automáticamente por defecto en su entorno de desarrollo (a diferencia de database.yml o thinking_sphinx.yml por ejemplo) mediante un simple bundle exec sidekiq dominio. Por lo tanto, escribimos nuestros trabajos en dos colas determinadas y Sidekiq estaba esperando trabajos en una tercera cola (la predeterminada). Tienes que pasar la ruta al archivo de configuración como un parámetro a través de -C o --config opción:

bundle exec sidekiq -C ./config/sidekiq.yml

o puede pasar los nombres de las colas directamente (aquí no se permiten espacios después de la coma):

bundle exec sidekiq -q queue_name_1,queue_name_2

Para encontrar el problema, es útil pasar la opción -v o --verbose en la línea de comando, también, o para usar :verbose: true en el sidekiq.yml expediente. Todo lo que está definido en un archivo de configuración es, por supuesto, inútil si el archivo de configuración no está cargado. Por lo tanto, asegúrese de estar usando el archivo de configuración correcto primero.