ruby on rails如何杀死resque worker

时间:2013-04-12 09:37:20

标签: ruby-on-rails ruby resque worker

我在resque队列中运行爬虫。它是一个爬虫并将信息提取到数据库中...... 我想阻止它.. 然后我在服务器中启动控制台,我使用命令:

irb(main):001:0> Resque.working[0].id
=> "09ec127d-bb90-4629-a6f2-bb2610885ab5:62:*"
irb(main):003:0> Resque.remove_worker("09ec127d-bb90-4629-a6f2-bb2610885ab5:62:*")
=> 0

虽然在/ resque页面中...它显示没有工作正在运行...但我发现在数据库中正在增加....它仍在将数据写入数据库..

1 个答案:

答案 0 :(得分:3)

以下是我如何杀死我的工人:

pids = Array.new

puts "Killing resque workers ... "
Resque.workers.each do |worker|
  pids << worker.to_s.split(/:/).second
end

if pids.size > 0
   system("kill -QUIT #{pids.join(' ')}")
end