こんにちは(HireFireの作者です)
サービスの違いに関する情報を提供しようと思います。それがあなたの決定に役立つかどうかはわかりませんが、少なくともそれは何かです!
どちらのソリューションも異なるアプローチをとります。HireFire は、必要に応じて Heroku Web とワーカー dyno をスケーリングするだけです。既存のコードベースを変更する必要はありません。遅延ジョブを通常どおり使用するだけです。デプロイ時に Heroku のプラットフォームでスラッグとしてコンパイルされるため、別の環境/プラットフォーム用のコードを送信/作成する必要はありません。また、新しい Web またはワーカー dyno がスピンアップすると、スラッグが使用され、すぐに実行されます (すべてのENV 変数 / 設定。
SimpleWorker と比較した場合の HireFire の欠点は、HireFire が Heroku 固有であることです。したがって、Heroku からたとえば EngineYard や VPS/Dedicated ボックスに切り替えた場合、HireFire は機能しませんが、SimpleWorker は Heroku に厳密に関連付けられていないため機能します。ただし、PaaS 以外のプラットフォームでホストするのはおそらく非常に安価であるため (比較すると)、自動スケーリングは必ずしも必要ではありません。
私は HireFire を開発する前は SimpleWorker の顧客でしたが、個人的に気に入らなかったのは、コードベースの一部を SimpleWorker にプッシュし、Rails 環境にロードし、サーバーの場所からデータベースに再接続して、また、ジョブをクラウドに送信するたびに API 要求 (?) を実行します (ただし、現在は変更されている可能性があるため、確認するために自分で確認することをお勧めします。私にとってのようにあなたにとっての問題です)。私にとっては、新しいジョブクラスを追加したいたびに面倒/試行錯誤が多すぎて、実行中heroku ps:workers 1
または実行中にアプリと宝石からすべての個々のコードをジョブクラスファイル自体にロードする必要がありました。heroku ps:scale worker=2
アプリ全体がすでに Heroku でスラッグとしてコンパイルされているため、ENV 変数を含めてそれを使用するだけなので、ローカルで実行する場合とまったく同じように、1 つまたは 2 つのワーカーを即座にスピンアップし、コード ベースに変更を加えることなく処理を開始します。およびその他の設定/アドオンであり、高速にスピンアップします。
HireFireでは、hirefireapp gemを Gemfile に追加し、Heroku アカウント/アプリケーションを HireFire Web インターフェイスに追加し、スケーリングのニーズをカスタマイズし、アプリケーションを Heroku にデプロイするだけです。アプリケーションは常に監視され、管理/調整されます (1 分以内)。
HireFire には、ジョブとそのステータス (実行中/終了/失敗/など) のテーブルを備えた洗練されたインターフェイスはありません (もちろん、各アプリの Web/ワーカー dyno とキューに入れられたジョブの現在の量の概要があります。カスタマイズ可能なスケーリング設定)、実際にはそのような機能を提供するのはワーカー ライブラリの仕事です。私が知っている遅延ジョブには、HireFire に関連付けられていない、使用できる (オープン ソースの) 1 つまたは 2 つの小さな管理インターフェイスがあります。SimpleWorker はホストされたサービスであり、ワーカー ライブラリでもあるため、Web インターフェイスも提供します。
HireFire には、ワーカー dyno だけでなく、Web dyno もスケーリングする機能があります。
Heroku と SimpleWorker の両方が私の理解では秒単位で比例配分されているため、どちらのサービスも多くのジョブを並行して処理することができます。したがって、10 個のワーカー dyno を 6 秒間スピンアップしても、1 つを 60 秒間スピンアップしても、コストに違いはありません (またはほとんどありません)。
私は HireFire を自分でリリースした後、SimpleWorker を使用していません。これはかなり前のことです。そのため、SimpleWorker が最近提供するものや、それ以降プロセスが単純化されているかどうかはわかりません。現時点ではまだ有効です。
お役に立てれば!