Il motivo era nel nostro caso:Sidekiq potrebbe cercare la coda sbagliata. Per impostazione predefinita, Sidekiq utilizza una coda denominata "predefinita". Abbiamo usato due nomi di coda diversi e li abbiamo definiti in config/sidekiq.yml
# configuration file for Sidekiq
:queues:
- queue_name_1
- queue_name_2
Il problema è che questo file di configurazione non viene caricato automaticamente per impostazione predefinita nel tuo ambiente di sviluppo (a differenza di database.yml
o thinking_sphinx.yml
per esempio) con un semplice bundle exec sidekiq
comando. Quindi abbiamo scritto i nostri lavori in due determinate code e Sidekiq stava aspettando i lavori in una terza coda (quella predefinita). Devi passare il percorso al file di configurazione come parametro tramite il -C
o --config
opzione:
bundle exec sidekiq -C ./config/sidekiq.yml
oppure puoi passare direttamente i nomi delle code (non sono ammessi spazi qui dopo la virgola):
bundle exec sidekiq -q queue_name_1,queue_name_2
Per scoprire il problema è utile passare l'opzione -v
o --verbose
anche dalla riga di comando o per usare :verbose: true
nel sidekiq.yml
file. Tutto ciò che è definito in un file di configurazione è ovviamente inutile se il file di configurazione non è caricato. Quindi assicurati di utilizzare prima il file di configurazione corretto.