python 处理管道损坏错误(例如,在请求完成之前关闭浏览器)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 处理管道损坏错误(例如,在请求完成之前关闭浏览器)相关的知识,希望对你有一定的参考价值。

def patch_broken_pipe_error():
    """
    Monkey Patch BaseServer.handle_error to not write a stacktrace to stderr
    on broken pipe. http://stackoverflow.com/a/7913160
    """

    import sys
    from SocketServer import BaseServer

    handle_error = BaseServer.handle_error

    def my_handle_error(self, request, client_address):
        type, err, tb = sys.exc_info()
        # there might be better ways to detect the specific erro
        if repr(err) == "error(32, 'Broken pipe')":
            # you may ignore it...
            logging.getLogger('mylog').warn(err)
        else:
            handle_error(self, request, client_address)

    BaseServer.handle_error = my_handle_error

patch_broken_pipe_error()

以上是关于python 处理管道损坏错误(例如,在请求完成之前关闭浏览器)的主要内容,如果未能解决你的问题,请参考以下文章

从损坏的管道读取时,管道 Python 脚本占用 100% 的 CPU

使用 mysql 和烧瓶登录的 Flask-sqlalchemy 损坏管道错误 32

尝试通过运行 Tkinter 的发送进程在进程之间通过管道发送任何内容时出现管道损坏错误

损坏管道上的发送行为

三:Tomcat源码之线程模型HTTP请求处理与管道线模型

带有请求的烧瓶损坏的管道