【问题标题】:Error message 'No handlers could be found for logger "multiprocessing"' using Celery使用 Celery 的错误消息“找不到记录器“多处理”的处理程序”
【发布时间】:2011-09-08 19:53:53
【问题描述】:

RabbitMQ 现在似乎工作正常。但是,当我尝试

python -m celery.bin.celeryd --loglevel=INFO` 

(常规celeryd 不起作用),我收到错误

找不到记录器“多处理”的处理程序)。

这是完整的输出(略有删节):

[2011-06-06 02:08:08,105: WARNING/MainProcess] -------------- celery@blahblah v2.2.6
---- **** -----
--- * ***  * -- [Configuration]
-- * - **** ---   . broker:      amqplib://blah@localhost:5672/vhost
- ** ----------   . loader:      celery.loaders.default.Loader
- ** ----------   . logfile:     [stderr]@INFO
- ** ----------   . concurrency: 2
- ** ----------   . events:      OFF
- *** --- * ---   . beat:        OFF
-- ******* ----
--- ***** ----- [Queues]
 --------------   . celery:      exchange:celery (direct) binding:celery


[Tasks]
  . tasks.add
[2011-06-06 02:08:08,812: WARNING/MainProcess] celery@blahblah has started
.
No handlers could be found for logger "multiprocessing"
No handlers could be found for logger "multiprocessing"

我真的很想正确设置这个,所以我可以继续在 Django 中使用它!

(这不是我的第一个 no handlers found 错误,但我在网上找不到任何关于此的信息...)

【问题讨论】:

    标签: python logging rabbitmq celery


    【解决方案1】:

    您需要确保从主进程启动的所有进程也正确设置了日志记录。 Here's a post 讨论了如何最好地使用 multiprocessing 进行日志记录。虽然讨论了 Python 3.2 附带的功能,但您也可以为早期的 Python 版本获取此功能 - 请参阅 this other post

    更新:关键是每个进程都需要初始化日志,你需要在你的代码中安排这个,就像在第一篇文章的例子中所做的那样:见listener_configurerworker_configurer。您可以使用logutils 来帮助您,但主要是要意识到每个进程都需要配置日志记录,以免出现“找不到处理程序”消息。

    【讨论】:

    • 我仍然对代码的去向感到困惑。我是否将它包含在 Python 中的某个位置?我要修改 Celery 本身吗?我是否将它作为示例“Celery 的第一步”迷你应用程序的一部分包含在内?如果有上述任何一种,我应该把它放在哪里?我怎么称呼它?我在理论上理解您的解决方案,但不幸的是我不知道如何应用它 - 我觉得在某些时候我缺乏基本的理解水平。
    【解决方案2】:

    celery 初始化日志的方式似乎有些奇怪。如果我将开关 --logfile=yourfile.log 放在命令行上,它可以可靠地工作,但是从配置中读取日志会给出不可靠的结果,包括您所看到的内容。

    【讨论】:

      【解决方案3】:

      确保日志文件目录存在并且进程对日志目录有写权限。

      我遇到了类似的问题,在创建日志文件位置目录后问题就消失了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-26
        • 2019-01-13
        • 1970-01-01
        • 2012-11-11
        • 2011-09-03
        相关资源
        最近更新 更多