Memory management 芹菜中每个任务的分叉过程

Memory management 芹菜中每个任务的分叉过程,memory-management,fork,multiprocessing,celery,Memory Management,Fork,Multiprocessing,Celery,我目前使用Python的C扩展库,但它似乎存在内存泄漏。在myceleryd上运行的任务使用此C扩展库执行某些操作,大约一小时后,celeryd会消耗大量内存。由于许多原因,我无法修补这个C扩展库,但我想为芹菜中的每个任务分叉进程。芹菜有这样的选项吗?您可以使用CELERYD\u MAX\u TASKS\u PER\u CHILD选项或--maxstasksparchildCELERYD开关 要在每个任务完成后重新启动工作进程,请执行以下操作: CELERYD\u MAX\u TASKS\u P

我目前使用Python的C扩展库,但它似乎存在内存泄漏。在my
celeryd
上运行的任务使用此C扩展库执行某些操作,大约一小时后,
celeryd
会消耗大量内存。由于许多原因,我无法修补这个C扩展库,但我想为芹菜中的每个任务分叉进程。芹菜有这样的选项吗?

您可以使用
CELERYD\u MAX\u TASKS\u PER\u CHILD
选项或
--maxstasksparchild
CELERYD开关

要在每个任务完成后重新启动工作进程,请执行以下操作:

CELERYD\u MAX\u TASKS\u PER\u CHILD=1


为每项新任务提供分叉的潜在缺点是什么?