Python - celery+rabbitmq 非同期タスク、キューメッセージが増加し続ける
高洛峰
高洛峰 2017-06-22 11:51:49
0
1
1141

セロリがrabbitmqと連携して非同期タスクを実行すると、rabbitmq内のメッセージの数が常に増加していることがわかりますが、これらのメッセージは実際にはタスクによって処理されています。

rabbimtq に付属するバックエンドを確認すると、キューに登録されたメッセージの準備完了数と合計数が 5,000 を超え、未確認の値が 0 であることがわかりました。ただし、実際に動作させると、unacknowledged の値は変化しますが、最終的には 0 になります。
celery の設定は特別なことはなく、以下の内容を設定するだけです。
CELERY_IMPORTS = ('testtasks',)
BROKER_URL = 'amqp://guest:guest@localhost:5672//'
CELERY_RESULT_BACKEND = 'amqp://'

次に、システム リソースを見てください。erl プロセス メモリは比較的大きく、おそらく 300 M 以上を使用しています。
セロリの設定に何か問題がありますか?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全員に返信(1)
曾经蜡笔没有小新

rabbitmq をバージョン 3.3 以降にアップグレードするだけで解決されました。
以前はrabbitmqバージョン3.1を使用していましたが、セロリはバージョン3.1です


問題を解決する実際の方法は、次のようにタスクにignore_result=True属性を追加することです
@app.task(ignore_result=True)

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート