ピラミッドを使用して Web サービスをセットアップしています。ビューの一般的なリクエストは非常に長く、約 15 分で終了します。だから私の考えは、セロリとrabbitmqブローカーでジョブをキューに入れることでした. 悪いことが起こらないようにする最善の方法を知りたいです。具体的には、たとえばタスク キューのオーバーフローを防止したいと考えています。
最初の対策は、IP ごとにクォータを定義して、特定の IP が 1 時間あたりに送信できるリクエストの数を制限することです。
ただし、関連する IP の数を予測できないため、これですべてを解決できるわけではありません。
celery/rabbitmq でキューのサイズを制限することはできないと読みました。新しいアイテムをプッシュする前にキューのサイズを取得することを考えていましたが、それが良い考えかどうかはわかりません。
私はメッセージング/ジョブ スケジューリングの優れた方法に慣れていません。この種の問題を処理するための推奨される方法はありますか?