Heroku resque no worker
我已经成功排队工作,我可以在resque web上看到。Heroku resque no worker
但是这项工作永远不会执行,只是等待。我的heroku应用程序上有1名工作人员。在resque统计工作者为0
在LIB /任务/ 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"
你必须告诉Heroku的通过Procfile
,以启动Resque工人。这就是你要在本地运行的命令的地方,比如RAILS_ENV=Production QUEUE=* bundle exec rake jobs:work
这给你在本地测试Heroku Resque的额外好处,通过使用相同的Profile
来启动Resque工作人员与工头。
Here是Heroku网站上的一个链接,它解释了如何设置。
不幸的是我使用Windows,因此只能在Heroku上测试。为什么我不能通过在控制台中运行此命令启动1个工作者:'heroku run bundle exec rake jobs:work' – 2013-04-10 17:30:25
Typo ..文件应该命名为resque.RAKE ...现在工作正常。 – 2013-04-10 17:59:50
呵呵,没有意识到工头在Windows上没有工作。 – messick 2013-04-10 18:41:56
正如@messick说你需要与Procfile执行resque工人登记,以防万一你不真正关心的已经建立了enviroments只是在你的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:scheduler
正在开始这1名工人? – messick 2013-04-10 17:16:41
我如何开始这1名工人?我已经尝试过'heroku运行bundle exec rake jobs:work'但是出现错误。不知道如何建立任务.. – 2013-04-10 17:18:16
你说**我在我的heroku应用程序**有1名工人。那是什么意思? – messick 2013-04-10 17:19:33