我正在使用本指南使用 Redis http://blog.redistogo.com/2010/07/26/resque-with-redis-to-go/ 设置 Resque

我已经设置好了,当我放一些东西时,它会显示在我的 resque 队列中。它在heroku上,所以我跑了

heroku rake resque:work QUEUE=*
(in /app)
Starting the New Relic Agent.
Installed New Relic Browser Monitoring middleware
Connected to NewRelic Service at collector-1.newrelic.com:80
^C
[canceled]

这样就完成了工作,但现在 worker 还在那里。我现在如何删除/杀死 worker ?

我目前有这个 0 of 4 Workers Working 我想制作它,以便在队列中的任务完成后,工作人员只需删除自己。我将如何继续执行此操作,或者是否需要调用另一个 heroku 终端命令。

在heroku上resque worker 也要花钱吗?我只是想让我可以手动触发我的 resque 队列中的任务。我不需要它自动执行。

最佳答案

我知道这是一个老问题,但您可以从控制台执行此操作:

$ heroku run console
irb(main):001:0> Resque.working[0].id
=> "09ec127d-bb90-4629-a6f2-bb2610885ab5:62:*"
irb(main):002:0> Resque.working.length
=> 28
irb(main):003:0> Resque.remove_worker("09ec127d-bb90-4629-a6f2-bb2610885ab5:62:*")
=> 0
irb(main):004:0> Resque.working.length
=> 27
irb(main):005:0>

我还没有尝试过,但还有一个 gem for doing this manually ,听起来你想自动化它。

关于ruby-on-rails - 如何杀死 Heroku 上的 resque worker ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6807704/

10-12 22:08
查看更多