現在、バックグラウンド プロセスに を使用していますResque
が、最近 について多くの批判を耳にしましたsidekiq
。比較/区別できる人はいますか?
特に知りたいのは、ジョブが完了したかどうかをプログラムで監視する方法があるかどうかです。sidekiq
ベストアンサー1
レスク:
長所:
- スレッドセーフを必要としません(ほとんどすべての gem で動作します)。
-
インタプリタの優先順位はありません (任意の Ruby を使用できます)。
Resqueは現在MRI 2.3.0以降をサポートしています - たくさんのプラグイン。
短所
- ワーカーごとにプロセスを実行します (メモリを多く使用します)。
- ジョブを再試行しません (とにかく、デフォルトでは)。
サイドキック:
長所
- ワーカーごとにスレッドを実行します (メモリ使用量が大幅に少なくなります)。
- フォークが少なくなる(動作が速くなる)
- すぐに使えるオプションが増えます。
短所
- [巨大な]コードのスレッドセーフ性が必要であり、すべての依存関係スレッドセーフでないコードをスレッドで実行すると、トラブルが発生します。
- 一部の Ruby では他の Ruby よりもうまく機能します (jruby が推奨されます。MRI では GVL (グローバル VM ロック) により効率が低下します)。