flask - time.sleep 阻止烧瓶请求
问题描述
我正在使用烧瓶实现服务器发送事件。如果我在函数中使用 time.sleep,则 sse 不会返回任何内容,并且请求在浏览器中保持挂起状态。如果我不使用睡眠,浏览器中的响应会过载,所以我需要使用一些延迟。为什么 time.sleep 会阻止请求?还有另一种方法可以在这里添加时间延迟吗?
def get_message():
time.sleep(1.0)
s="xyz" #some function here for our business logic
return s
@app.route('/stream')
def stream():
def eventStream():
while True:
yield 'data: {}\n\n'.format(get_message())
return Response(eventStream(), mimetype="text/event-stream")
解决方案
推荐阅读
- typescript - Typescript,ReduxJS Toolkit - createSlice 生成的 Reducer 不能分配给“Reducer”类型的参数
' - r - 如何在 Shiny 应用程序的输出中显示“请稍候”
- python - 如何修复错误 Guild Object has no attribute 'guild_permissions'
- php - romove obj 从查询 laravel obj['pivot']
- variables - Watson Assistant 上下文变量计数器 2021
- exe - 如何使可执行文件仅以管理员身份运行(exe 上的 UAC 图标)
- ios - 如何在表格视图中更新集合视图中的数据?
- javascript - 如何获取实际的客户端 URL?
- node.js - 导出 firebaseui 的导入节点模块导致玩笑测试失败,并显示“ReferenceError:未定义窗口”
- android - Android内容Uri不能被其他应用播放