禁用Celery Worker启动文本

时间:2016-04-14 17:03:25

标签: logging celery worker

你如何完全阻止Celery工作人员将任何消息打印到stdout?我试过了

celery worker --app proj --logfile=/dev/null

这将停止所有消息 EXCEPT 以下在启动时打印的消息:

 -------------- <version>
---- **** -----
--- * ***  * -- <OS>
-- * - **** ---
- ** ---------- [config]
- ** ---------- .> app:         <app>
- ** ---------- .> transport:   <QUEUE>
- ** ---------- .> results:     <DB>
- *** --- * --- .> concurrency: 10 <con>
-- ******* ----
--- ***** ----- [queues]
 -------------- .> celery           <exchange>

有没有办法阻止此消息在启动时打印?我正在使用一个新手脚本。

2 个答案:

答案 0 :(得分:1)

我很久以前就放弃celery worker支持celery multimulti超过worker的一个优点是它不会产生您想要摆脱的输出。典型的输出是:

celery multi v3.1.23 (Cipater)
> Starting nodes...
        > foo@localhost: OK

如果你想使用--quiet选项,你甚至可以摆脱这一点输出。

我刚刚尝试使用celery worker安静但仍然得到了不良输出。

答案 1 :(得分:0)

在celery worker.py源代码中this line解释了重定向日志文件的dev / null不能用于启动消息的原因。 正如您所看到的,启动消息是对stdout的打印。

要克服的一种方法是创建自己的worker.py版本,但我认为只需从日志文件中删除几行就会非常痛苦。

我无法想出解决问题的其他方法。