resque
バックグラウンド処理用に実行されるマルチテナント アプリがあります。
私たちが時折遭遇する問題は、1 つのテナントが非常に短い時間内に多くのバックグラウンド作業を実行する場合です。これにより、基本的にキューがしばらく詰まります。この単一のテナントのバックログを処理している間、他のすべてのテナントのジョブが遅れます。
はい、ワーカーを追加できます。しかし、それは本当の意味での「解決策」ではなく、応急処置であり、他のテナントに遅延をもたらします。処理が速くなるため、遅延が短くなるだけです。
マルチテナント向けのより使いやすい方法はありますresque
か? それとも、よりマルチテナントに適したバックグラウンド キュー全体ですか?
以下のいずれかを見てきました。
- テナントごとにキューを使用し、テナントごとにワーカーを使用します (動的に作成されたキュー?)
resque
テナントごとにキューを介して何らかの方法でラウンドロビンするように変更する
足りないものがあるかどうか、またはより良い方法があるかどうかを考えているだけです...