現在、2 つの Heroku dyno でアプリを実行しています。これまで調べてきたことから、config/unicorn.rb に似たものを追加する必要があります。
worker_processes 3
timeout 30
@resque_pid = nil
before_fork do |server, worker|
@resque_pid ||= spawn("bundle exec rake " + \
"resque:work QUEUES=scrape,geocode,distance,mailer")
end
処理するバックグラウンド ジョブがいくつかあります。シングル スレッドで実行する必要があるものと、同時に実行する必要があるものがあります。この構成の問題は、両方の Unicorn インスタンスでまったく同じ resque ワーカー (同じキューなど) が生成されることです。
各ワーカーが処理するキューのタイプを変更できれば、すべてが大幅に簡素化されます。または、1 つのインスタンスで resque ワーカーを実行し、もう 1 つのインスタンスで sidekiq ワーカーを実行することもできます。
これは可能ですか?