python Flask 线程 true 不起作用

2023-12-08

With threaded=True每个请求都在一个新线程中处理。但是,如果我将应用程序的 threaded 设置为 true,它将显示未知的行为。

这是我的代码。

from flask import Flask
from flask import jsonify
import time

app = Flask("proxapp")

import datetime

@app.route('/slow')
def slow():
    start = datetime.datetime.now()
    time.sleep(10)
    return jsonify(start = start, end = datetime.datetime.now())


try:
    app.run(threaded=True)
except Exception, e:
    print repr(e)

我在 Windows 中打开了两个选项卡,并尝试在不同的选项卡中请求相同的 url。仅在第一个请求得到处理后才处理第二个请求。第二个请求大约需要 20 秒才能得到处理。

我的代码有什么问题?


从烧瓶文档中得知部署选项

虽然轻量级且易于使用,但 Flask 的内置服务器不适合生产,因为它的扩展性不好,并且默认情况下一次仅处理一个请求。此处记录了一些可用于在生产中正确运行 Flask 的选项。

这就是为什么在第一个请求完成之前不会发生第二个请求,因为 Flask 服务器本身一次只能处理一个请求。为了解决这个问题,你需要在某种部署服务器上运行 Flaskgunicorn or uWSGI这似乎是最受欢迎的。

您还可能会找到以下问题的答案this or this问题有帮助。部署选项还有很多有关解决问题的不同方法的指南和信息的链接。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python Flask 线程 true 不起作用 的相关文章

随机推荐

  • jenkins 无法安装插件 - docker image

    以下是 jenkins 镜像 2 190 2 版本 中用于安装插件的相关片段 FROM jenkins jenkins 2 190 2 Add jenkins plugin COPY plugins txt usr share jenkin
  • 与 HashMap 一起使用[重复]

    这个问题在这里已经有答案了 我有一个 java 类 它将 servlet 属性设置为 HashMap 对象 request setAttribute types da getSecurityTypes where request是一个 Ht
  • 如何使用 JUnit 测试 ConfigurationProperties?

    这是我第一次使用外部化配置和 yaml 我创建了一个 yaml 其中使用类名作为 KEY 字段名称作为 VALUE YAML project test service computator exclude field from beeing
  • boost::named_mutex:最后一个进程关闭时安全清理

    我有一个资源 需要保护一个进程内以及多个进程之间的访问 我通过创建一个命名互斥体来管理这个问题boost interprocess named recursive mutex 而且效果很好 include
  • 尝试将 PDT 中的日期时间解析为 ZonedDateTime 表示形式

    我应该如何解析 PDT 时区中的日期时间值 06 24 2017 07 00 AM PDT 我想保留时区 以便我可以根据网站访问者的偏好来表示其他时区的时间 我尝试使用ZonedDateTime但我收到解析错误 java time Zone
  • 415 在 ajax 调用 Spring mvc 中发送 json 对象时不支持的媒体类型

    我正在从 ajax 调用将 json 对象发送到 spring mvc 控制器 这是我发送到控制器的 json 对象 id 7 priority 8 startTime 2015 09 23 01 01 00 0 我的ajax调用 ajax
  • 如何改进 for 循环而不导致运行时超时,

    我目前正在开发一个项目 该项目使用大约 500 个循环交叉验证 2 张工作表 ROSTER First Name Last Name DoB Judith Barragan 4 10 1959 Kelly Benitez 9 14 1993
  • MacOS excel 中的这段代码相当于什么?

    有人可以建议使用等效的代码吗Mac 版 Excel这会产生与下面在 Windows 中相同的结果吗 Path CreateObject WScript Shell SpecialFolders Desktop ActiveWorkbook
  • 如何使用 OnItemClickListener 根据单击的项目启动新意图?

    我希望能够使用 Intent 类启动新活动 我知道如何使用以下代码行启动活动 Intent myIntent new Intent v getContext bylocationactivity class startActivityFor
  • 不能使用可变变量作为安全函数的参数

    下面的脚本无法编译 它抛出错误Cannot use a mutable variable as an argument of the security function我不明白为什么 我在安全函数中使用的参数不是可变变量 当我注释掉该行时h
  • Chrome 应用程序中的无限文件存储

    我想将无限数量的文件保存到用户的硬盘驱动器 而不需要用户单击对话框 我见过的关于使用无限存储的唯一文档在这里 https developers google com chrome whitepapers storage 它表示它仅适用于 C
  • 左连接和内连接的性能差异

    左连接和内连接在性能方面有什么区别吗 我使用 SQL Server 2012 至少有一种情况LEFT OUTER JOIN是一个更好的选择 INNER JOIN 我谈到使用获得相同的结果OUTER代替INNER 示例 我正在使用Advent
  • .vimrc 文件中的 是什么?

    I see
  • 更改页面时 PdfBox 问题

    我不太喜欢问这类问题 但是 我已经花了整整 3 天时间试图解决我的代码中的这个错误 我知道这是一个逻辑问题 我知道如何在脑海中解决它 但是当涉及到将我的想法转化为代码时 我就是无法让它按照我想要的方式工作 我正在处理一份合同背书 合同的修改
  • Azure Devops - 服务器端 git hooks

    我们如何实现服务器端挂钩或任何类似的解决方案来限制 git 推送到 git 服务器 例如 我们想要禁用包含 class 文件的提交推送 我不认为 Azure DevOps 使用钩子 您可以使用分行政策利用外部验证服务 据我所知 这使用网络挂
  • 如何使用javascript将对象存储在数组中

    我正在开发 Safari 浏览器的扩展 我想将当前活动选项卡对象存储在数组中作为键 如何在数组中存储多个选项卡对象 我写了以下代码 第一个场景 var obj obj1 new Object obj2 new Object obj3 new
  • 有没有办法在 Git 中签出新分支后触发挂钩?

    有没有办法在 Git 中签出新分支后触发挂钩 git hook 是放置在存储库的特殊位置的脚本 该位置是 git 钩子 该脚本可以是您可以在您的环境中执行的任何类型 即 bash python ruby 等 签出后执行的钩子是结账后 来自文
  • nginx/413 请求实体太大

    当我尝试在服务器上上传文件时 出现以下错误 413请求实体太大 这当然意味着我的文件太大了 所以我做了一个快速的谷歌搜索并发现了这个 open etc nginx nginx conf Edit set client body size t
  • Fortran 标准中 OPEN 语句中的 SHARED 选项

    在本文档中HP Fortran 文档 OPEN 语句接受 SHARED 和 READONLY 选项 在本文档中标准 Fortran 2008 文档 OPEN 语句不接受 SHARED 或 READONLY 选项 因为我正在使用gfortra
  • python Flask 线程 true 不起作用

    With threaded True每个请求都在一个新线程中处理 但是 如果我将应用程序的 threaded 设置为 true 它将显示未知的行为 这是我的代码 from flask import Flask from flask impo