Django - 如何解决错误“SIGPIPE:写入关闭的管道/套接字/fd”

问题描述 投票:0回答:1

我的网络应用程序使用标准格式向用户发送一封电子邮件

django.core.mail.message.EmailMessage

大多数 ISP 和浏览器都能很好地接收该信息,但是对于一个 ISP,用户不会收到电子邮件,并且这 2 条相关的错误消息出现在我使用的 PythonAnywhere 服务器上:

SIGPIPE: writing to a closed pipe/socket/fd (probably the 
client disconnected) on request [a specific URL in your web 
app]

uwsgi_response_writev_headers_and_body_do(): Broken pipe 
[core/writer.c line 306] during [a specific URL in your web 
app]

我的研究表明这可能是与 nginx 和 uwsgi 相关的服务器超时问题 - 但我认为我没有安装;这是一个 wsgi 应用程序。我的直觉表明,可能是这个特定的 ISP 阻止了我的电子邮件,因为我已经进行了大量测试,它认为它们是垃圾邮件。这合理吗?关于这些错误的可能原因或我如何解决有什么想法吗?

django server pythonanywhere email-client sigpipe
1个回答
0
投票

这就是当客户端在响应发送给它之前断开连接时会发生的情况。发生这种情况的原因可能是用户关闭了他们所在的选项卡,或者是因为访问站点的代码存在超时且超时时间短于响应时间。您可以优化代码以缩短响应时间或增加访问站点的代码的超时。

© www.soinside.com 2019 - 2024. All rights reserved.