【发布时间】:2020-05-21 09:29:14
【问题描述】:
我使用 pytest 运行测试,然后运行几个 celery 任务。但是,当我使用
mprof run --include-children py.test test.py
我无法跟踪在 celery worker 中运行的每个 celery 任务消耗的内存。我只能看到 py.test 进程消耗了 50 MB 的 RAM(我可以在 mprof 图中看到),而 celery 工作人员消耗了大约 600-700 MB 的 RAM,这在 mprof 图中没有反映出来。如何绘制 py.test 触发的每个 Celery 任务的内存消耗?
P.S 我使用内存分析器包来分析 python 脚本的内存消耗。
【问题讨论】:
-
我猜你会从你的 pytest 中生成一些 celery 任务,因此它们会通过 AMQP 并进入另一个进程空间?如果是这样,任务创建者(pytest)不会在任务消费者(芹菜)上提供内存配置文件
标签: python celery pytest memory-profiling