西芹杀死进程

问题描述:

我用芹菜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中查看更多信息。