0

Heroku で Ruby/Rails を実行していて、ワーカーをスケーリングしたい..

Heroku には、ワーカーをスケーリングするためのこの優れた API があります。

heroku.post_ps_scale(APP_NAME, 'worker', count) 
#brings up new worker dyno's, or scales down

問題は、ワーカーがキューを認識していないことです... 2 つのクライアントがあり、それぞれが遅延ジョブで独自のキューを取得する場合。その後、彼らのタスクは互いに衝突します。

ワーカーを別のキューで動作させるが、それらはワーカーを開始したアプリと同じ dyno (別名 Web dyno) 上にあります。

cmd = "rake jobs:work WORKER=STYLE_SERF QUEUES=#{queue}"
Rush::Box.new[Rails.root].bash( cmd, :background => true )

質問 キュー対応のワーカー dyno を作成するにはどうすればよいですか?
上記のコードの組み合わせになると思います。

編集: procFile を使用することを提案する人もいます。私が直面する問題は、必要になる数またはワーカー キューがわからないことです。特定のキューで作業する「緊急」または「due_yesterday」ワーカーを設定するのに最適ですが、クライアントごとにキューが必要です。
したがって、worker_1 は client_1 ジョブで動作し、worker_2 は client_2 ジョブで動作します。決して他に渡ることはありません。
client_1 が 1 時間ごとに製品の更新を行い、client_2 が 1 週間に 1 回行うことは容易に想像できます。

拡張質問 (編集に基づく) 実行時に procfile を調整できますか? それはファイルですか、それともコードにコンパイルされていますか? アクセス可能なファイルであれば、おそらくワーカー タイプを「作成」できます。

4

1 に答える 1

1

http://hirefire.io/を試すことができます。月額 10 米ドルです。30 日間試用できますが、キューのサイズと応答時間に応じてワーカーと dyno の両方を驚くほどスケーリングし、カスタマイズ可能です。

于 2012-12-20T08:57:52.120 に答える