我有一个正在开发的webApp,我注意到每隔一段时间我会看到一个错误“Exception in thread CP Server thread-*”,其中*=random thread号码。这个错误偶尔会发生,最终会锁定web服务器,使其无法响应请求。在
我使用CherryPy支持SSL,用默认的“helloworld”webPy应用程序重现了相同的问题。在
import web
from web.wsgiserver import CherryPyWSGIServer
# GLOBALS
CherryPyWSGIServer.ssl_certificate = "/.ssl/fpi.crt"
CherryPyWSGIServer.ssl_private_key = "/.ssl/server.key"
urls = (
'/(.*)', 'Hello',
)
app = web.application(urls, globals())
class Hello:
def GET(self, name):
return 'Hello World'
if __name__ == "__main__":
app.run()
错误是:
^{pr2}$环境: Ubuntu 18.04.1 LTS Python 2.7.15rc1 网页.py:0.39
有没有人见过这样的问题,或者知道是什么原因造成的。阅读时webpy.org网站. 这个版本应该是36.0版本,但它应该是一个不错的版本。我曾想过要升级到0.40,但由于还在开发阶段,所以犹豫不决
这可能不是一个适当的修复,但我做了下面的黑客和问题不再显示我。我仍在寻找一个更好的解决方案,也许会把CherryPy完全扔掉,但在此之前:
=====>在
def _safe_call
在ssl_pyopenssl.py
:替换与
^{pr2}$以及
raise socket.error(-1)
和raise wsgiserver.FatalSSLAlert(*e.args)
的类似补丁====>;在
def sendall
在wsgiserver2.py
:插入2行,如下所示:有兴趣听到任何问题使用上述
相关问题 更多 >
编程相关推荐