向自己发送发布请求时,烧瓶挂起

向自己发送发布请求时,烧瓶挂起,第1张

向自己发送发布请求时,烧瓶挂起

在1.0之前,Flask的开发服务器默认为单线程。在这种模式下,它一次只能处理一个请求。发出请求直到接收到响应为止。您的Flask代码在一个线程中发出一个请求,然后等待。没有其他线程可以处理第二个请求。因此,请求永远不会完成,并且原始请求将永远等待。

在开发服务器中启用线程以避免死锁并解决当前问题。

app.run(threaded=True)

但是,永远不需要从应用程序内部向应用程序发出完整的HTTP请求,这表明存在更深的设计问题。例如,观察内部请求将无法访问客户端浏览器上的会话。提取通用代码并在内部调用它,而不是发出新请求。

def common_login(data):    ...@app.route("/login")def login():    ...    common_login(data)    ...@app.route("/api/login")def api_login():    ...    common_login(data)    ...


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5652526.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存