У меня есть приложение django, которое выполняет фоновые задачи с использованием библиотеки celery, и мне нужно получить и сохранить максимальное использование памяти для задачи.
Я пробовал memory_usage из библиотеки memory_profiler, но я я не могу использовать эту функцию внутри задачи, потому что я получаю сообщение об ошибке: "процессы daemoni c не имеют детей". Я также пробовал функцию memory_usage вне задачи, чтобы отслеживать вызов task.asyn c, но по какой-то причине задача запускается дважды.
Все остальные способы, которые я обнаружил, заключаются в проверке использование памяти в разных местах кода, а затем получение максимума, но у меня есть ощущение, что это очень неточно, и, вероятно, есть некоторые вызовы, которые имеют большое использование памяти, которые опущены из-за сбора мусора, прежде чем мне удастся проверить текущее использование памяти.
официальная документация имеет некоторые полезные функции, но она должна полагаться на метод выше. https://docs.celeryproject.org/en/latest/reference/celery.utils.debug.html
Заранее спасибо!