我有一个Django应用程序,使用celery库运行后台任务,我需要获取并存储任务的最大内存使用量。
我尝试了memory_profiler库中的memory_usage函数,但是我无法在任务内部使用此函数,因为我会收到错误消息:“不允许守护进程有子进程”。我还尝试了在任务外部使用memory_usage函数来监视task.async调用,但由于某种原因,任务会触发两次。
我找到的所有其他方法都是在代码的不同位置检查内存使用情况,然后获取最大值,但我感觉这非常不准确,并且可能会因为垃圾回收而留下一些具有高内存使用率的调用,使我无法检查当前内存使用情况。
官方文档提供了一些有用的函数,但必须依赖上述方法。https://docs.celeryproject.org/en/latest/reference/celery.utils.debug.html 谢谢!
我尝试了memory_profiler库中的memory_usage函数,但是我无法在任务内部使用此函数,因为我会收到错误消息:“不允许守护进程有子进程”。我还尝试了在任务外部使用memory_usage函数来监视task.async调用,但由于某种原因,任务会触发两次。
我找到的所有其他方法都是在代码的不同位置检查内存使用情况,然后获取最大值,但我感觉这非常不准确,并且可能会因为垃圾回收而留下一些具有高内存使用率的调用,使我无法检查当前内存使用情况。
官方文档提供了一些有用的函数,但必须依赖上述方法。https://docs.celeryproject.org/en/latest/reference/celery.utils.debug.html 谢谢!