在 Heroku 上一起使用 Resque、Puma 和 Scheduler
Using Resque, Puma and Scheduler together on Heroku
查看大量指南后,我想确认我的设置。现在我的 procfile 看起来像:
web: bundle exec puma -C config/puma.rb config.ru
resque: TERM_CHILD=1 RESQUE_TERM_TIMEOUT=10 QUEUES=* bundle exec rake resque:work
worker: bundle exec rake resque:work COUNT=1 QUEUE=*
scheduler: bundle exec rake resque:scheduler
...在 Heroku 中:
...和我的耙子 resque 设置任务:
require 'resque'
require 'resque/tasks'
require 'resque/scheduler/tasks'
# http://jademind.com/blog/posts/enable-immediate-log-messages-of-resque-workers/
namespace :resque do
desc 'Initialize Resque environment'
task setup: :environment do
ENV['QUEUE'] ||= '*'
Resque.logger.level = Logger::INFO
end
task scheduler_setup: :environment
end
desc 'Alias for resque:work'
task 'jobs:work' => 'resque:work'
所以这是我的问题:
- 我的 procfile 中是否需要 Resque 和 worker 配置?
- 我是否需要为调度器和工作器配备单独的测功机?这意味着总共有 3 个测功机?
更新
我看到了这个帖子,我正在尝试 https://grosser.it/2012/04/14/resque-scheduler-on-heroku-without-extra-workers/。目标是能够有选择地为我的网络、工作人员和调度程序使用 2 个免费测功机。一旦应用程序增长,我想将它们分解成它们自己的测功机。
从博客post我找到
他提到现在要扮演这个角色...
web: bundle exec puma -C config/puma.rb config.ru
worker: bundle exe rake schedule_and_work COUNT=1 QUEUE=* TERM_CHILD=1 RESQUE_TERM_TIMEOUT=10
..一旦我们需要更多测功机就升级到这个...
web: bundle exec puma -C config/puma.rb config.ru
resque: TERM_CHILD=1 RESQUE_TERM_TIMEOUT=10 QUEUES=* bundle exec rake resque:work
worker: bundle exec rake resque:work
scheduler: bundle exec rake resque:scheduler
这将允许我们使用网络测功机,直到我们想要支付全职调度测功机费用。
查看大量指南后,我想确认我的设置。现在我的 procfile 看起来像:
web: bundle exec puma -C config/puma.rb config.ru
resque: TERM_CHILD=1 RESQUE_TERM_TIMEOUT=10 QUEUES=* bundle exec rake resque:work
worker: bundle exec rake resque:work COUNT=1 QUEUE=*
scheduler: bundle exec rake resque:scheduler
...在 Heroku 中:
...和我的耙子 resque 设置任务:
require 'resque'
require 'resque/tasks'
require 'resque/scheduler/tasks'
# http://jademind.com/blog/posts/enable-immediate-log-messages-of-resque-workers/
namespace :resque do
desc 'Initialize Resque environment'
task setup: :environment do
ENV['QUEUE'] ||= '*'
Resque.logger.level = Logger::INFO
end
task scheduler_setup: :environment
end
desc 'Alias for resque:work'
task 'jobs:work' => 'resque:work'
所以这是我的问题:
- 我的 procfile 中是否需要 Resque 和 worker 配置?
- 我是否需要为调度器和工作器配备单独的测功机?这意味着总共有 3 个测功机?
更新
我看到了这个帖子,我正在尝试 https://grosser.it/2012/04/14/resque-scheduler-on-heroku-without-extra-workers/。目标是能够有选择地为我的网络、工作人员和调度程序使用 2 个免费测功机。一旦应用程序增长,我想将它们分解成它们自己的测功机。
从博客post我找到
他提到现在要扮演这个角色...
web: bundle exec puma -C config/puma.rb config.ru
worker: bundle exe rake schedule_and_work COUNT=1 QUEUE=* TERM_CHILD=1 RESQUE_TERM_TIMEOUT=10
..一旦我们需要更多测功机就升级到这个...
web: bundle exec puma -C config/puma.rb config.ru
resque: TERM_CHILD=1 RESQUE_TERM_TIMEOUT=10 QUEUES=* bundle exec rake resque:work
worker: bundle exec rake resque:work
scheduler: bundle exec rake resque:scheduler
这将允许我们使用网络测功机,直到我们想要支付全职调度测功机费用。