環境
rails: 5.2.0
ruby 2.5.1
sidekiq
activejob
課題
ruby on rails で無限に続くjobを2つ、非同期でうごかそうと思い、以下のようなコードを組み、activejob
経由のsidekiq
で動かしました
ruby
1 class TestJob < ApplicationJob 2 queue_as :default 3 4 def perform(id) 5 # Do something later 6 while true do 7 sleep 2 8 p "infinite comment #{id}" 9 end 10 end 11 end 12 13
sidekiq
,redis-server
rails server
起動後、rails console
から以下コマンドで、2つjobを起動しました
ruby
1TestJob.perform_later(1) 2TestJob.perform_later(2)
sidekiqのダッシュボード上では、2つのタスクが実行中になっていたのですが、sidekiqの起動画面には1つめのタスクに相当するコメントinfinite comment 1
しかでておらず、ただしく実行されていないようです。
2つのタスクが同時に動くようにするにはどのような変更をしたらよいでしょうか?
sidekiq
,activejob
などを使うのは今回が初めてなので、足りない情報があれば指摘していただけると幸いです
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/26 14:45