4

ピラミッドを使用して Web サービスをセットアップしています。ビューの一般的なリクエストは非常に長く、約 15 分で終了します。だから私の考えは、セロリとrabbitmqブローカーでジョブをキューに入れることでした. 悪いことが起こらないようにする最善の方法を知りたいです。具体的には、たとえばタスク キューのオーバーフローを防止したいと考えています。

最初の対策は、IP ごとにクォータを定義して、特定の IP が 1 時間あたりに送信できるリクエストの数を制限することです。

ただし、関連する IP の数を予測できないため、これですべてを解決できるわけではありません。

celery/rabbitmq でキューのサイズを制限することはできないと読みました。新しいアイテムをプッシュする前にキューのサイズを取得することを考えていましたが、それが良い考えかどうかはわかりません。

私はメッセージング/ジョブ スケジューリングの優れた方法に慣れていません。この種の問題を処理するための推奨される方法はありますか?

4

1 に答える 1