Cyr*_* N. 1 python sleep wait flask
使用时time.sleep(),是否会阻塞 Flask 请求?
我的一个 Flask 端点启动了一个长处理子任务,并且在某些情况下,不是异步执行工作,而是可以等待任务完成并在同一个请求中返回结果。
在这种情况下,我的 Flask 应用程序启动该过程,然后等待它完成,然后返回结果。我的问题是,在调用类似(简化)时:
while True:
if process_is_done():
break
time.sleep(1)
Run Code Online (Sandbox Code Playgroud)
Flask 会阻止该请求直到它完成,还是会允许其他请求在此期间到来?
是的,该请求已被完全阻止。time.sleep()不通知任何睡眠,它只是在持续时间内“空闲”CPU。
Flask 本身不是异步的,它没有暂停请求处理程序并为其他请求提供更多时间的概念。一个好的 WSGI 服务器会使用线程和/或多个工作进程来实现并发,但是这个请求会被阻塞并占用 CPU 时间。
| 归档时间: |
|
| 查看次数: |
5499 次 |
| 最近记录: |