项目使用celery进行异步任务操作,但是运行一段时间后celery自动停止,只有重新启动celery才能继续执行任务。我想在任务停止时自动重启celery,怎么写?### 问题描述
问题出现的环境背景及自己尝试过哪些方法
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
项目使用celery进行异步任务操作,但是运行一段时间后celery自动停止,只有重新启动celery才能继续执行任务。我想在任务停止时自动重启celery,怎么写?### 问题描述
// 请把代码文本粘贴到下方(请勿用图片代替代码)
4 回答4.5k 阅读✓ 已解决
1 回答3.4k 阅读✓ 已解决
4 回答3.9k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答517 阅读✓ 已解决
1 回答4.6k 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
基本你的描述,我猜想应该是内存泄漏导致了停止,你可以尝试配置CELERYD_MAX_TASKS_PER_CHILD参数
CELERYD_MAX_TASKS_PER_CHILD = n
表示每个worker在执行 n 次任务后,主动销毁,之后会起一个新的,主要解决一些资源释放的问题。