如何解决每个请求后,带有cheroot服务器的Server Flask应用程序在HTTPServer.tick中导致错误
我试图使用CherryPy(v18.6.0)的cheroot服务器为Flask(v1.1.2)的wsgi应用程序提供服务,并且在通过Postman或浏览器执行了每个请求之后,我在控制台中收到以下异常。我正在运行python v3.8.5
Error in HTTPServer.tick
Traceback (most recent call last):
File "C:\myproject\venv\lib\site-packages\cheroot\server.py",line 1795,in serve
self.tick()
File "C:\myproject\venv\lib\site-packages\cheroot\server.py",line 2030,in tick
self.connections.expire()
File "C:\myproject\venv\lib\site-packages\cheroot\connections.py",line 107,in expire
for sock_fd,conn in timed_out_connections:
File "C:\myproject\venv\lib\site-packages\cheroot\connections.py",line 103,in <genexpr>
(sock_fd,conn)
File "C:\python\lib\_collections_abc.py",line 743,in __iter__
for key in self._mapping:
RuntimeError: dictionary changed size during iteration
代码如下:
from cheroot.wsgi import Server
from flask import Flask
app = Flask(__name__)
@app.route("/",methods=["GET"])
def index():
return "Hello"
if __name__ == "__main__":
server = Server(bind_addr=("0.0.0.0",3000),wsgi_app=app)
try:
server.start()
finally:
server.stop()
引起该异常的任何想法以及我们如何解决它?
解决方法
这是最近出现的有关cheroot的问题,请查看cheroot GitHub Issue 312。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。