【问题标题】:Writing to log files in a non-blocking manner in Tornado/Python在 Tornado/Python 中以非阻塞方式写入日志文件
【发布时间】:2013-09-23 08:12:54
【问题描述】:

我正在将 Tornado 用于 websockets 服务器,我正在尝试弄清楚如何在不阻塞主线程的情况下登录到文件。 tornado.log 是非阻塞的吗?如果没有,是否有一种通用的pythonic方法可以在不阻塞主线程的情况下登录到文件?

谢谢!

【问题讨论】:

  • 你可以把消息放在一个消息队列中,然后写到另一个线程中。

标签: python tornado


【解决方案1】:

Tornado 使用标准库的 logging 模块,该模块在大多数配置中都是阻塞的。 Python 3.2 包含一个QueueHandler 类,可用于将实际 I/O 移动到单独的线程;在此之前,没有非阻塞日志记录的标准解决方案(但 PyPI 上可能有一个具有 2.x 兼容实现的包)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-26
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 2013-11-12
    • 1970-01-01
    相关资源
    最近更新 更多