如何查看Celery任务的内存消耗

时间:2018-06-20 13:41:42

标签: python matplotlib celery

我有celery任务(Python 3),由于某种原因它没有收集垃圾。任务非常简单-只需通过Matplotlip在每个循环步骤中生成一张图表即可。

但是,在一天中运行10次任务(相当于100张图表)之后,celery worker进程消耗了超过1gig的服务器内存。我可以清楚地看到一天中每个任务的消耗量是如何增加的。

我使用BytesIO,并且一旦将其保存在磁盘上,便会在图表缓冲区中调用close()方法。那是我想到的唯一可以吃掉记忆的东西。

在循环完成并且整个任务即将完成之后,如何调试或打印垃圾?

我使用新的Celery 4.2和Python3。运输是Redis。

0 个答案:

没有答案