禁用 Celery Worker 启动文本

Disable Celery Worker Startup Text

您将如何完全阻止 Celery worker 将任何消息打印到标准输出?我试过了

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

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

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

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

嗨,为什么重定向到 dev/null 的日志文件对启动消息不起作用的原因由 celery worker.py 源中的 this line 解释。 如您所见,启动消息是打印到标准输出的。

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

我想不出其他方法来解决你的问题。

我很久以前就放弃了 celery worker,转而使用 celery multimulti 优于 worker 的优点之一是它不会产生您试图摆脱的输出。典型的输出是:

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

如果您愿意,您甚至可以使用 --quiet 选项去掉这一点输出。

我刚才用 celery worker 尝试安静,但仍然得到不希望的输出。