我成功地把一份工作排成了队,我可以在resque web上看到。
但这项工作从来没有执行过,只是悬而未决。我的Heroku应用程序上有一个工作人员。在resque统计中,工人是0。
在lib/tasks/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
通过使用相同的Profile与foreman一起启动resque workers,可以在本地测试heroku resque设置,从而获得额外的好处。
Here是Heroku网站上的一个链接,说明如何设置。

关于ruby - Heroku没有 worker ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15932233/

10-14 02:51