请求未分配给gunicorn工作人员

2024-04-23

我正在尝试使用龙卷风和gunicorn 来编写一个应用程序来处理工作线程。我创建了如下所示的代码,但是尽管启动了多个工作程序,但它并没有共享请求。一名工作人员似乎一直在处理所有请求(不是间歇性的)。

Code:

from tornado.web import RequestHandler, asynchronous, Application
from tornado.ioloop import IOLoop

import time
from datetime import timedelta
import os

class MainHandler(RequestHandler):
    def get(self):
        print "GET start"
        print "pid: "+str(os.getpid())
        time.sleep(3)
        self.write("Hello, world.<br>pid: "+str(os.getpid()))
        print "GET finish"

app = Application([
    (r"/", MainHandler)
])

控制台中的输出(我在 3 秒窗口内轻松刷新了 3 个浏览器选项卡,但它们仍然使用相同的进程并按顺序运行):

2014-04-12 20:57:52 [30465] [INFO] Starting gunicorn 18.0
2014-04-12 20:57:52 [30465] [INFO] Listening at: http://127.0.0.1:8000 (30465)
2014-04-12 20:57:52 [30465] [INFO] Using worker: tornado
2014-04-12 20:57:52 [30474] [INFO] Booting worker with pid: 30474
2014-04-12 20:57:52 [30475] [INFO] Booting worker with pid: 30475
2014-04-12 20:57:52 [30476] [INFO] Booting worker with pid: 30476
2014-04-12 20:57:52 [30477] [INFO] Booting worker with pid: 30477
GET start
pid: 30474
GET finish
GET start
pid: 30474
GET finish
GET start
pid: 30474
GET finish

我也尝试过将 IOLoop.add_timeout 与异步一起使用,在这种情况下没有更好的了。通过阅读,我意识到,gunicorn 甚至可能以某种方式查看内部并将异步装饰器解释为意味着它可以将它们全部填充到一个线程中,因此我恢复了此处所示的内容。只是为了我的理智,我已经粘贴箱 http://pastebin.com/Npzep1JG我所做的事情的未经编辑的版本。

总之,为什么gunicorn 不将我的请求分配给工作人员?


好吧,显然是浏览器造成了这种情况。通过查看wireshark,我确定至少firefox(并且我假设chrome正在做同样的事情)在URL相同时序列化请求。也许这样的话,如果它们是可缓存的,它就可以重用它们。

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

请求未分配给gunicorn工作人员 的相关文章

  • 你怎么知道无限长的承诺链何时完全结束?

    我试图使用 Promise 强制序列化一系列 Ajax 调用 用户每次按下按钮时都会进行这些 Ajax 调用 我可以成功地序列化操作 如下所示 sample async function real world this is an Ajax
  • 为什么同步上下文不适用于等待?

    这个答案 https stackoverflow com a 21839382 2631076 says 默认情况下 await 运算符将捕获当前 上下文 并使用它来恢复异步方法 我正在我的控制台应用程序中尝试此代码 static void
  • 我什么时候应该使用 UdpClient.BeginReceive?我什么时候应该在后台线程上使用 UdpClient.Receive?

    从本质上讲 除了明显的区别之外 它们之间还有哪些区别 我什么时候应该使用哪种形式 class What public Go Thread thread new Thread new ThreadStart Go2 thread Backgr
  • 是否可以同步调用异步调用?

    我在下面放置了一些非常基本的代码来说明我正在尝试做的事情 我有执行异步操作的 DoSomethingAshnc 方法 我希望 DoSomething 方法成为同步方法 不接受操作参数并返回 int public void DoSomethi
  • 在一个 Servlet 中同时处理

    我有一个 Servlet 它接收请求 必须处理 5 个任务 从外部服务器获取数据 并将所有数据发送回订购的客户端 如何同时处理5个任务并在5个任务全部完成后继续执行servlet代码 您可以使用CoundDownLatch http doc
  • 为什么 nginx 接受 Host 标头与 server_name 不匹配的请求?

    我有一个这样设置的站点 nginx 作为代理服务器 通过 UNIX 套接字代理为 Django 站点提供服务的 Gunicorn 实例的请求 这是我的 nginx 配置 server listen 80 server name api my
  • 使用 For 循环进行异步和等待 [重复]

    这个问题在这里已经有答案了 我有一个 Windows 服务 它根据计划运行各种作业 确定要运行哪些作业后 将调度对象列表发送到迭代列表并运行每个作业的方法 问题是 由于外部数据库调用 某些作业可能需要长达 10 分钟才能运行 我的目标是不让
  • twisted-suds 的优点 - 使用 python suds 肥皂库的异步方式

    我正在使用Pythonsuds https fedorahosted org suds 用于基于本地 wsdl 文件制作 SOAP 客户端的库 我的目标是使用 Twisted 作为后端 以便我以异步方式查询 SOAP 服务器 我知道这个话题
  • 如何在特定时间启动Tornado周期性回调?

    目前在我的 Tornado 应用程序中 我正在使用定期调用回调PeriodicCallback每隔一小时 像这样 import tornado ioloop from tornado ioloop import PeriodicCallba
  • 同步和异步 API

    我正在开发一个库 它提供一些耗时的服务 我需要每个 API 有两个版本 一个用于同步函数调用 另一个用于异步 图书馆用户应决定使用哪个版本 服务结果可能对于系统继续运行 同步调用 至关重要 可能需要在不同的工作线程中完成相同的操作 因为结果
  • 使用多个 DispatchQueue.main.async 查看冻结

    视图冻结而数据是获取并显示 以我的理解fetchBoard and initUserInfo 不要并行执行 因为视图仅在以下情况下加载fetchBoard 加载板 我担心如果使用DispatchQueue main async多次冻结视图
  • 在 Objective-C 中从异步块增加变量

    我在 Objective C 中开发的服务遇到了一些难题 该服务的目的是解析核心数据实体列表并为每个对象下载相应的图像文件 该服务的原始设计因太多同时下载请求而阻塞了我的网络服务器 为了解决这个问题 我将负责执行下载请求的代码移至递归方法中
  • Angular Template:如何绑定 RXJS Observable 并读取其属性?

    我创建了这个界面 interface IGame name string description string 我将它用作 Observable 并将其传递为Input to the Component Input public game
  • 如何在没有 WSGI 的情况下为 Gunicorn 配置 ExecStart?

    Systemd 和 Gunicorn 需要某种 wsgi 文件作为最后一个参数ExecStart http docs gunicorn org en latest deploy html highlight ExecStart system
  • 基础设施 - 同步和异步接口和实现? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在实现库 基础设施时 并且该 API 的用户希望同步和异步使用代码 我读到混合同步和异步并不是一个好主意 例如 同步实现包括等待异步实现 显然
  • 使用任务的经典永无止境的线程循环?

    给出了一个非常常见的线程场景 宣言 private Thread thread private bool isRunning false Start thread new Thread gt NeverEndingProc thread S
  • 常规请求期间 Django AJAX 请求未通过

    我有一个带有登录网页的 Django 站点 当提交页面上的登录表单时 它会执行登录视图 该视图会在其中运行一个需要很长时间处理 30秒左右 的函数 因此 为了在登录期间向客户端显示进度 一旦提交表单 登录页面上的 JS 函数就会开始向服务器
  • 异步迭代器 Task>

    我正在尝试实现一个返回迭代器的异步函数 这个想法如下 private async Task
  • 如何使gunicorn中的工人过期(并复活)?

    我有一个内存泄漏缓慢的应用程序 由于各种原因 我无法摆脱它 所以我想使用老把戏 让我的工人定期死亡和复活 即在多处理池中使用与 maxtasksperchild 相同的策略 在其他系统 例如 Apache mod wsgi 等 中发现的释放
  • WCF - AsyncPattern=true 或 IsOneWay=true

    我的 WCF 服务中很少有方法需要花费大量时间 生成报告和发送电子邮件 根据目前的要求 要求客户端应用程序只需提交请求 然后不等待整个过程完成 它将允许用户继续在客户端应用程序中执行其他操作 而不是等待整个过程完成 我很困惑该走哪条路 As

随机推荐

  • 将 ed25519 私钥 ssh 转换为 RSA 私钥

    我正在寻找使用将 ed25519 私钥转换为 rsa 私钥ssh keygen I found 这个有用的指南 https man openbsd org ssh keygen但我无法弄清楚如何指定输入格式为 ed25519 并且导出格式应
  • 用 C++ 发出声音(嘟嘟声)

    如何用c 使硬件发出蜂鸣声 打印特殊字符 ASCII BEL 代码7 cout lt lt a Source https bytes com topic c answers 127539 making computer speaker be
  • 如何在align环境中标记每个方程?

    我想知道如何在对齐环境中标记每个方程 例如 begin align label eq lnnonspbb lambda i mu i 0 mu i xi i 0 lambda i y i w T x i b 1 xi i 0 end ali
  • 我可以 POST 和 GET 到同一个 PHP 页面吗

    例如 我想知道是否可以在同一个 php 页面上进行 GET 和 POST 我想将数据发送到 http www example com my php 所以首先是 GET http www example com my php task dos
  • 使用VBS脚本检查字符串是否包含特定字符

    我的脚本正在做以下几点 检索所有我选择的文件夹文件 按日期对它们进行分类 从最近的到较早的 在窗口中显示它们 这是我的 VBS 脚本 我检索它here http codes sources commentcamarche net sourc
  • tkinter .after() 秒和分

    大家好 我在 tkinter 中制作计时器时遇到问题 但我无法使用time sleep 所以我用 after 我有新问题 我输入了一个条目 我希望条目编号为 60 在设定时间之后 将写入一条文本 内容如下 gt gt time is ove
  • Excel 单元格值作为 SQL 查询 where 语句

    我对 SQL 很陌生 我想使用此查询将数据从 SQL Server 导入到 Excel SELECT Model Factory TargetTime TotalEvalMins FROM AMSView WHERE WeekNumber
  • CoreImage坐标系

    I have CVPixelBufferRef从一个AVAsset 我正在尝试申请CIFilter到它 我用这些行 CVPixelBufferRef pixelBuffer CVPixelBufferRef newPixelBuffer e
  • 有条件地设置对象属性

    是否有一些根据条件设置属性的语法 data userId 7 actionId 36 express myCondition true null does not work I want express要么设置为一个值 要么根本不设置 即
  • ListView.builder 在颤振中按像素底部溢出

    这就是我使用的方式ListView builder它被纳入Column with Expanded小部件 我尝试了一些解决方案 但它们不起作用 这是一个动态列表 return Container child Column crossAxis
  • 从 Visual Studio 运行时,STARTUPINFO.wShowWindow 为 0

    我在调试名为 Notepad2 的开源记事本替代品中的功能时偶然发现了一个问题 更具体地说 是一个名为 Notepad2 的更新版本 Notepad2 mod https github com XhmikosR notepad2 mod 它
  • 无法执行dex:多个dex文件定义Lcom/google/android/gms/ads/AdActivity;

    我正在尝试在我的应用程序中使用谷歌播放服务 我在我的应用程序和 BaseGameUtils 中都引用了 google play services 库 并且我无法执行 dex 多个 dex 文件定义 Lcom google android g
  • CFP 对 /Library/Preferences 的引用

    我在系统偏好设置中使用了 prefpane 带有授权锁 我需要了解我的偏好并写信给 Library Preferences 但是 每当我尝试将首选项同步到kCFPreferencesAnyUser and kCFPreferencesCur
  • Windows().Activate 超出范围错误

    我的宏中有一些代码如下 ChDir File pth Workbooks Open filename File pth open tkt Workbooks Open filename File pth closed tkt ActiveS
  • 从 xml 文件中获取所有 img 标签(jquery)

    我有以下 xml 文件
  • 将属性映射到react-redux中的状态

    我有一个使用的组件state向用户提供数据 例如 div this state variableInState div 该组件可以调度一些方法 例如onClick行动 我目前正在使用react redux an connect映射方法sto
  • 如何自定义 Grails Spring Security Core 2 登录/注销控制器和视图?

    我正在使用新的 Grails Spring Security Core 2 0 插件 并且想知道如何自定义登录视图和 LoginController LogoutController 该插件的早期版本生成了这些文件 但现在看来我必须将它们从
  • 如何根据 1 小时间隔获取时间段

    我想将时间段存储在数组列表中 我有开始时间和结束时间 根据开始时间 它应该创建时间段 例如 如果开始时间是 09 00AM 结束时间是 21 00PM 那么它应该添加到 arraylist 中 如下所示 上午 09 00 10 00 AM
  • 二进制文件的结构验证

    我正在研究正式指定各种二进制流格式的方法 并使用工具检查流是否符合规范 类似于 XSD 任何 XML 验证工具 或者就像在二进制级别上工作的极其复杂的 grep 表达式 最好不是 这真的很难阅读 有人知道有用的规范 工具吗 理由 我们每天都
  • 请求未分配给gunicorn工作人员

    我正在尝试使用龙卷风和gunicorn 来编写一个应用程序来处理工作线程 我创建了如下所示的代码 但是尽管启动了多个工作程序 但它并没有共享请求 一名工作人员似乎一直在处理所有请求 不是间歇性的 Code from tornado web