【问题标题】:ruby on rails how to kill the resque workerruby on rails 如何杀死 resque 工人
【发布时间】:2013-04-12 18:26:30
【问题描述】:

我在 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页面中...显示没有worker在运行...但是我发现数据库中正在增加...它仍在向数据库中写入数据..

【问题讨论】:

    标签: ruby-on-rails ruby resque worker


    【解决方案1】:

    这是我杀死工人的方法:

    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
    

    【讨论】:

    • 我需要上传代码吗?我可以使用控制台中的命令杀死它们吗?
    • @linzilan,在您的示例中,您在 IRB 中。可以肯定地说,这个答案假设您在 IRB 或 Rails 控制台方面有一定的经验。
    猜你喜欢
    • 1970-01-01
    • 2021-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-13
    • 1970-01-01
    相关资源
    最近更新 更多