首页 文章

在Heroku上一起使用Resque,Puma和Scheduler

提问于
浏览
1

在审查了许多指南之后,我想确认一下我的设置 . 现在我的 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

enter image description here

......和我的耙子 resque setup task

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配置?

  • 我是否需要为调度程序和工作人员分别设置一个dyno?这意味着共有3个dynos?

Update

我遇到了这个帖子,我正在尝试https://grosser.it/2012/04/14/resque-scheduler-on-heroku-without-extra-workers/ . 目标是能够为我的网络和工作人员和调度程序选择使用2个免费的dynos . 一旦应用程序增长,我想把它们分解成自己的dynos .

1 回答

  • 0

    从我发现的博客文章中

    他现在提到了这个角色......

    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
    

    ..一旦我们需要更多的dynos,就升级到这个......

    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
    

    这将允许我们使用web dyno,直到我们想要支付全时调度器dynos .

相关问题