【发布时间】:2011-10-27 17:41:04
【问题描述】:
所以我在 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 rake jobs:work 并让一名工人运行。这非常有效。我的后台工作正在完成。
然后我对我的代码进行了一些更改,推送到 heroku,但仍然看到我有一个工人在运行。但是,当作业被添加到队列中时,工作人员没有收到任何作业。所以我又跑了heroku rake jobs:work,它说我有两个工人在运行,我的工作正在完成。
我的问题是为什么会发生这种情况?每次推送到heroku时都需要运行这个rake任务吗?有没有办法自动化这个?此外,虽然我有两个工人在运行,但似乎只有一个在工作。有没有办法让一个工人回来?
【问题讨论】:
标签: heroku rake backgroundworker redis resque