La raison était dans notre cas :Sidekiq peut rechercher la mauvaise file d'attente. Par défaut, Sidekiq utilise une file d'attente nommée "default". Nous avons utilisé deux noms de file d'attente différents et les avons définis dans config/sidekiq.yml
# configuration file for Sidekiq
:queues:
- queue_name_1
- queue_name_2
Le problème est que ce fichier de configuration n'est pas chargé automatiquement par défaut dans votre environnement de développement (contrairement à database.yml
ou thinking_sphinx.yml
par exemple) par un simple bundle exec sidekiq
commande. Ainsi, nous avons écrit nos travaux dans deux files d'attente, et Sidekiq attendait des travaux dans une troisième file (celle par défaut). Vous devez passer le chemin du fichier de configuration en paramètre via le -C
ou --config
choix :
bundle exec sidekiq -C ./config/sidekiq.yml
ou vous pouvez passer directement les noms des files d'attente (aucun espace autorisé ici après la virgule) :
bundle exec sidekiq -q queue_name_1,queue_name_2
Pour trouver le problème, il est utile de passer l'option -v
ou --verbose
également en ligne de commande ou d'utiliser :verbose: true
dans le sidekiq.yml
dossier. Tout ce qui est défini dans un fichier de configuration est bien sûr inutile si le fichier de configuration n'est pas chargé. Assurez-vous donc d'abord d'utiliser le bon fichier de configuration.