3

多数のガイドを確認した後、セットアップを確認したいと思います。現在、私の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で:

ここに画像の説明を入力

...そして私のrake 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'

だからここに私の質問があります:

  1. procfile に Resque と worker の両方の構成が必要ですか?
  2. スケジューラとワーカーに個別の dyno が必要ですか? これは合計 3 つの dyno を意味しますか?

アップデート

https://grosser.it/2012/04/14/resque-scheduler-on-heroku-without-extra-workers/を試しているこの投稿に出くわしました。目標は、2 つの無料の dyno を Web とワーカー、およびスケジューラにオプションで使用できるようにすることです。アプリケーションが大きくなったら、それらを独自の dyno に分割したいと考えています。

4

1 に答える 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

..さらに dyno が必要になったら、これにアップグレードします...

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

これにより、フルタイムのスケジューラ dyno の支払いが必要になるまで、Web dyno を使用できます。

于 2017-01-09T01:49:38.620 に答える