当前位置: 首页 > 面试题库 >

使用threaded = True同时处理Flask请求

楚知
2023-03-14
问题内容

究竟是通过threaded = Trueapp.run()吗?

我的应用程序处理了来自用户的输入,并且花了一些时间。在这段时间内,应用程序无法处理其他请求。我已经测试了我的应用程序,threaded=True它可以让我同时处理多个请求。


问题答案:

从Flask 1.0开始,Flask随附的WSGI服务器默认在线程模式下运行。

在1.0之前的版本中,或者如果你禁用线程,则服务器以单线程模式运行,并且一次只能处理一个请求。任何并行请求都必须等待,直到可以处理它们为止,如果你尝试通过request与你自己的服务器联系,则会导致问题。

threaded=True请求的请求均在新线程中处理。服务器可以同时处理多少个线程完全取决于你的操作系统以及它对每个进程的线程数设置的限制。该实现使用SocketServer.ThreadingMixIn类,它对可启动的线程数没有任何限制。

请注意,Flask服务器仅用于开发。它不是可用于生产的服务器。不要依靠它在更广泛的网络上运行你的网站。请使用适当的WSGI服务器(例如gunicorn或uWSGI)。



 类似资料:
  • 问题内容: 我的Flask应用程序必须进行大量计算才能获取特定页面。在Flask执行该功能时,其他用户无法访问该网站,因为Flask忙于进行大量计算。 有什么方法可以使我的Flask应用程序接受来自多个用户的请求? 问题答案: 是的,将应用程序部署在其他WSGI服务器上,请参阅Flask部署选项文档。 Flask随附的服务器组件实际上仅用于开发应用程序时;即使可以将其配置为处理并发请求(从Flas

  • 问题内容: 我有一个JSON,我需要对其进行一些处理。它使用我需要以某种方式引用的切片,以便在函数末尾修改Room-struct。如何通过按引用类型同时使用此结构? http://play.golang.org/p/wRhd1sDqtb 问题答案: 您的逻辑中有两个不同的问题:第一个是切片本身的操作方式,第二个是实际的并发问题。 对于分片操作,仅按值传递分片作为参数将意味着您将无法以必须在增加分片

  • Cookie以文本文件的形式存储在客户端计算机上。 其目的是记住和跟踪与客户使用有关的数据,以获得更好的访问体验和网站统计。 Request对象包含一个的属性。 它是所有cookie变量及其对应值的字典对象,客户端已发送。 除此之外,cookie还会存储其到期时间,路径和站点的域名。 在Flask中,cookies设置在响应对象上。 使用函数从视图函数的返回值中获取响应对象。 之后,使用响应对象的

  • 我想做这样的解决方案: cxf-https-soap服务获取请求并将其发送到activemq队列1 服务实现从队列1获取消息,处理它并将其放入队列2 endpoint从队列2获取响应并向客户端发送响应 现在,我提出了一种解决方案,但我不确定如何处理activemq的响应并将其作为SOAP响应发送回去。下面是我的骆驼蓝图。endpoint蓝图: 服务处理器蓝图: 有什么帮助或建议吗?

  • 问题内容: 用Flask处理超大文件上传(1 GB以上)的最佳方法是什么? 我的应用程序实际上需要多个文件,为它们分配一个唯一的文件号,然后根据用户选择的位置将其保存在服务器上。 我们如何将文件上传作为后台任务运行,以使用户在1小时内没有浏览器旋转,而是可以立即进入下一页? Flask开发服务器能够处理大量文件(50gb需要1.5个小时,上传速度很快,但将文件写入空白文件的速度却很慢) 如果我用T

  • 我们已经看到,可以在URL规则中指定http方法。URL映射的函数接收到的表单数据可以以字典对象的形式收集,并将其转发给模板以在相应的网页上呈现它。 在以下示例中,URL => 呈现具有表单的网页(student.html)。填充的数据会提交到触发函数的URL => 中。 函数收集字典对象中中存在的表单数据,并将其发送给result.html 并显示出来。 该模板动态呈现表单数据的HTML表格。