我已经成功地对一个作业进行了排队,这可以在resque web中看到。
但是作业永远不会执行,只是挂起。我的heroku应用程序上有一个工人。在resque统计数据中,工人是0。
在lib/task/resque.rb中:
require 'resque/tasks'
task "resque:setup" => :environment do
ENV['QUEUE'] = '*'
Resque.after_fork do |job|
ActiveRecord::Base.establish_connection
end
end
desc "Alias for resque:work (To run workers on Heroku)"
task "jobs:work" => "resque:work"发布于 2013-04-11 01:26:05
你必须告诉Heroku通过Procfile启动你的Resque worker。这是您放置将在本地运行的命令的位置,如RAILS_ENV=Production QUEUE=* bundle exec rake jobs:work
这给了你额外的好处来测试你的Heroku Resque设置,通过使用相同的Profile启动Resque workers与Foreman。
Here是Heroku网站上的一个链接,它解释了如何进行设置。
发布于 2014-08-24 07:23:43
正如@messick所说,您需要使用Procfile执行resque工作人员注册,如果您并不真正关心设置环境,只需在您的Procfile中添加以下行:
resque: env TERM_CHILD=1 COUNT=1 QUEUE=* bundle exec rake resque:work
worker: bundle exec rake resque:work COUNT=1 QUEUE=*如果需要调度程序,只需添加以下行
scheduler: bundle exec rake resque:schedulerhttps://stackoverflow.com/questions/15932233
复制相似问题