【发布时间】:2015-11-08 10:32:30
【问题描述】:
我在 Heroku 上使用 resque,但不确定如何启动工作进程。从我读过的教程中,有两个系统得到了推广,我不确定哪个是最好的/正确的以及有什么区别。
heroku 教程使用配置文件 https://devcenter.heroku.com/articles/queuing-ruby-resque#resque-on-heroku
resque: env TERM_CHILD=1 RESQUE_TERM_TIMEOUT=7 bundle exec rake resque:work
RedisToGo 教程没有使用 Heroku 的 procfile,而是使用 rake 文件 /lib/tasks/resque.rb(我认为这个文件应该称为 resque.rake) http://redistogo.com/documentation/resque
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"
当我使用 procfile 系统时,它创建了第三个 Heroku dyno(Web、Worker 和 Resque),而我理解上面的 RedisToGo 示例使用 Resque 的 Worker dyno。
如果我将 resque 用于我的后台工作,那么更进一步,是否需要 Heroku 中的 worker dyno 或者我可以只拥有 web 和 resque dyno?
【问题讨论】:
标签: ruby-on-rails heroku