Sidekiqを使用し、非同期でジョブを回そうとしたのですが、キューには追加されるもののジョブが実行されません。
環境は以下の通りです。
- Ruby 2.2.2
- Rails 4.2.4
- Sidekiq 4.2.1
- Redis 3.2.3
試したこと
- redis-cliを実行し、redisに正常に接続できることを確認
bundle exec sidekiq -q default
を実行し、sidekiqが立ち上がることを確認 (下記がその時のsidekiq.logです)
2016-09-17T11:49:49.145Z 11656 TID-osh3nsnmc INFO: Booting Sidekiq 4.2.1 with redis options {:url=>"redis://localhost:6379", :namespace=>"sidekiq"} 2016-09-17T11:49:51.259Z 11656 TID-osh3nsnmc INFO: Running in ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux] 2016-09-17T11:49:51.259Z 11656 TID-osh3nsnmc INFO: See LICENSE and the LGPL-3.0 for licensing details. 2016-09-17T11:49:51.259Z 11656 TID-osh3nsnmc INFO: Upgrade to Sidekiq Pro for more features and support: http://sidekiq.org 2016-09-17T11:49:51.262Z 11656 TID-osh3nsnmc INFO: Starting processing, hit Ctrl-C to stop
http://localhost:3000/sidekiq
にブラウザでアクセスし、Webインターフェイスにも問題が無いことを確認- 下記のテスト用Jobを作成し、rails consoleから実行
ruby
1class SampleJob < ActiveJob::Base 2 queue_as :default 3 def perform 4 puts '動いてますよ' 5 end 6end
下記のコンソールのログから、SidekiqのAPIも正常であることを確認
[1] pry(main)> SampleJob.perform_later Enqueued SampleJob (Job ID: 174452ec-1e0d-4174-b4e3-2eb5559c0706) to Sidekiq(default) => #<SampleJob:0x0055a46e95a138 @arguments=[], @job_id="174452ec-1e0d-4174-b4e3-2eb5559c0706", @queue_name="default"> [2] pry(main)> Sidekiq::Queue.new => #<Sidekiq::Queue:0x0055a46c26bcc0 @name="default", @rname="queue:default"> [3] pry(main)> Sidekiq::Queue.new.size => 2
- SidekiqのWebインターフェイスを再度開き、上記でperfor_laterしたことで、の待機状態ジョブ数が増えていることを確認
sidekiq.log や development.log には全くエラー出力が無く、何が問題なのかわからず途方にくれています。
他に試すべきこと、確認事項などあれば些細な事でも結構ですので、助言を頂けると幸いです。よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。