运行rake任务以在Heroku上启动Resque worker

所以我在Heroku上设置了Resque和redis,这就是我的resque.rake文件:

require 'resque/tasks'

task "resque:setup" => :environment do
  ENV['QUEUE'] = '*'
end

desc "Alias for resque:work (To run workers on Heroku)"
task "jobs:work" => "resque:work"

我运行了heroku佣金工作:工作并让一名工人跑步.这非常有效.我的后台工作正在完成.

然后我对我的代码进行了一些更改,推送到了heroku,仍然看到我有一个工作正在运行.但是,当工作被添加到队列中时,工作人员没有接收任何工作.所以我跑了heroku rake工作:再次工作,它说我有两个工人在跑,我的工作正在完成.

我的问题是为什么会发生这种情况?每次推送到heroku时,是否需要运行此rake任务?有没有办法实现自动化?此外,虽然我有两个工作人员在运行,但似乎只有一个工作正常.有没有办法回到一个工人?

最佳答案 您应该在Heroku
http://devcenter.heroku.com/articles/procfile上使用Procfile进行resque作业

请记住,Procfile用于新的Heroku Cedar Stack.

点赞