西芹杀死进程
问题描述:
我用芹菜3.1.23。西芹杀死进程
任务的代码非常简单:
@app.task(bind=True, max_retries=None, default_retry_delay=settings.CELERY_RECONNECT_TIME)
def analize_text(self, **kwargs):
print 'test'
return 1
我启动芹菜此命令:
芹菜-A任务工人--loglevel =信息--concurrency = 4 -n analize_text -Q analize.analize_text -Ofair
所以,我使用4个CPU。 问题是,芹菜定期杀死工人,并开始新的代替。新员工在日志和新PID中都有新号码。 这是我的日志https://dpaste.de/N1Vk
它为什么这样做?这个错误?
答
它取决于CELERY_MAX_TASKS_PER_CHILD,即工人在回收之前应完成的任务数量,默认为无限制。
http://docs.celeryproject.org/en/latest/configuration.html#std:setting-CELERYD_MAX_TASKS_PER_CHILD
所以,你的芹菜配置可能有此限制设置为一些低数量,因此你的员工越来越回收。 您可以在芹菜stats中查看更多信息。