2011-09-13 23 views
2

私はHerokuの古いスタック(AspenとBamboo)でDelayed Jobを使用しましたが、新しい(ish)Cedarスタックでは、より効率的なものを試してみたいと思います。Herokuのバックグラウンドジョブの解決策?

私が行っている具体的なバックグラウンドジョブは、さまざまなキャリア(UPS、FedEx、USPSなど)へのAPI呼び出しで、毎回何千時間も処理しています。

ジョブを同時に処理して、キューをすばやく通過できるようにする必要があります。

さらに、コスト削減を図りたいと考えています。私がDelayed Jobを使用していた以前のスタックでは、私はWorkersを増やす必要があり、コストが大幅に増加しました。

だから、私はHerokuの良いバックグラウンドジョブソリューションは何ですか?

答えて

2

新しいCedarスタックを使用すると、Resqueなど、さまざまな種類のスケジューラとワーカーを使用できます。 Procfileと新しいスタックの詳細はcedar pageにあります。

負荷に応じて作業者の規模を簡単かつ自動的に調整できます。 Here's an example。このようにして、実際に必要なときにのみ、労働者に支払うことになります。

+0

あなたはResqueを提案していますか?それは私が求めていることです...私のシナリオでは最高の解決策は何ですか? – Shpigford

+0

私は現在ResqueとDelayed Jobの両方を使用しています。彼らには長所と短所があります。どちらを使用するかはアプリケーションによって異なります。 –

+0

私の元の投稿で言及したことに基づく長所と短所は何ですか?それは私が何をしようとしているのかにどのような解決策が最適かを見出そうとしているところです。 – Shpigford

1

Unicornを使用して1つのDynoで複数のワーカープロセスを実行すると、必要なワーカーの総数が削減され、並行性が向上します。通常、dynoあたり約3〜4人のユニコーン労働者が最高のパフォーマンスを発揮します。

関連する問題