理由は私たちの場合でした:Sidekiqは間違ったキューを探すかもしれません。デフォルトでは、Sidekiqは「default」という名前のキューを使用します。 2つの異なるキュー名を使用し、それらをconfig / sidekiq.yml
で定義しました。# configuration file for Sidekiq
:queues:
- queue_name_1
- queue_name_2
問題は、この構成ファイルが自動的にロードされないことです。 デフォルトでは、開発環境では(database.yml
とは異なります) またはthinking_sphinx.yml
たとえば)単純なbundle exec sidekiq
による 指図。したがって、2つの特定のキューにジョブを書き込み、Sidekiqは3番目のキュー(デフォルトのキュー)でジョブを待機していました。 -C
を介して、構成ファイルへのパスをパラメーターとして渡す必要があります。 または--config
オプション:
bundle exec sidekiq -C ./config/sidekiq.yml
または、キュー名を直接渡すこともできます(ここではコンマの後にスペースを入れないでください):
bundle exec sidekiq -q queue_name_1,queue_name_2
問題を見つけるには、オプション-v
を渡すと便利です。 または--verbose
コマンドラインでも、または:verbose: true
を使用します sidekiq.yml
内 ファイル。もちろん、構成ファイルがロードされていない場合、構成ファイルで定義されているものはすべて役に立ちません。したがって、最初に正しい構成ファイルを使用していることを確認してください。