- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Django 应用程序 Web 应用程序,我想知道是否可以让 nginx 将中止/关闭传播到 uwsgi/Django。
基本上我知道 nginx 知道过早中止/关闭,因为它默认为 uwsgi_ignore_client_abort
到“关闭”,并且在发送响应之前中止/关闭请求时,您的 nginx 日志中会出现 nginx 499 错误。一旦 uwsgi 完成处理请求,它会在将响应返回给 nginx 时抛出“IO 错误”。
车削uwsgi_ignore_client_abort
“on”只是让 nginx 不知道中止/关闭,并删除 uwsgi“IO 错误”,因为 uwsgi 仍然可以写回 nginx。
我的用例是我有一个应用程序,人们可以非常快速地翻阅一些 ajax 结果,因此如果快速翻阅我中止他们跳过的页面的挂起 ajax 请求,这将保持客户端干净和高效。但这对服务器端(uwsgi/Django)没有任何作用,因为即使没有任何东西等待响应,它们仍然必须处理每个请求。
现在显然可能有某些页面,我不希望请求因任何原因过早中止。但是我将 celery 用于可能属于该类别的长时间运行的请求。
那么这可能吗? uwsgi's
hariakari 设置让我觉得它在某种程度上......只是无法弄清楚如何去做。
最佳答案
My use case is that I have an application where people page through some ajax results very quickly, and so if the quickly page through I abort the pending ajax request for the page that they skipped, this keeps the client clean and efficient.
XMLHttpRequest.abort()
完成的.如果在
abort()
时请求还没有发出被调用,那么请求不会出去。但是如果请求已经发送,
服务器不会知道请求已中止。 连接不会关闭,不会有任何消息发送到服务器,什么都没有。如果您希望服务器知道不再需要请求,您基本上需要想出一种方法来识别请求,以便在您发出初始请求时获得它的标识符。然后,通过另一个 AJAX 请求,您可以告诉服务器应该取消先前的请求。 (如果您搜索有关
abort()
like this one 的问题并搜索“服务器”,您会发现相同的解释。)
uwsgi_ignore_client_abort
是在 TCP 级别处理连接关闭的东西。这与中止 AJAX 请求不同。您通常无法在 JavaScript 中执行需要关闭 TCP 连接的操作。浏览器优化连接的创建和销毁以满足其需求。刚才,我是这样做的:
lsof
检查是否有任何进程连接到 example.com
.没有。 ( lsof
是一个 *nix 实用程序,它允许列出打开的文件。网络连接是 *nix 中的"file"。)lsof
显示了连接和打开它的过程。 lsof
投票看看我之前确定的连接是否仍然打开。 即使没有真正需要保持连接打开,它在我关闭页面后仍保持打开状态大约一分钟。 XMLHttpRequest.abort()
执行的中止。
关于django - 将 http abort/close 从 nginx 传播到 uwsgi/Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39780755/
uWSGI 主进程有什么用? 和/或我可以在哪里阅读更多相关信息? 我找到了零文档。 最佳答案 您可以找到有关大师的一些信息here和 here 一般来说,主文件负责优雅地重新加载您的应用程序服务器(
我有多个基于 Flask 的 web 应用程序在 docker 容器中运行(它们的进程需要与主机操作系统隔离)。为了运行这些应用程序,我在容器内使用了 uWSGI 服务器。传入的请求应该通过订阅服务器
我正在尝试使用 uwsgi 进行一些非常复杂的配置。从长远来看,我试图让自己的事情变得更容易,自然而然,这样做,我正在使事情变得尽可能困难。 无论如何,我正在寻找魔法变量的完整列表。我能在 Emper
我开始使用 uWSGI,我想知道它的工作人员是否是非阻塞/基于事件的(就像 nginx 一样)。 假设我已经像这样启动了 uWSGI: uwsgi --http :8000 --wsgi-file t
我们的应用程序是为 Python 2.7 编写的。它有一个配置为使用 Python 2.7 的 virtualenv。系统安装的 uWSGI 是用 Python 2.6 构建的。 It seems t
我在这个页面 http://uwsgi-docs.readthedocs.org/en/latest/StatsServer.html并使用 uwsgitop但我不知道如何解释输出。文档也没有透露太多
我看到这里发布了许多 uWSGI 配置,我在工作中遇到的现有应用程序的配置也有填充了 100 到 1000 值的 max-requests。 在一定数量的请求后回收进程的目的是什么?您是否试图避免内存
我正在使用 uWSGI 运行一个 webpy 网络服务器,有些请求花费的时间太长。设置 harakiri 模式后,我注意到请求被终止后会再次重试。 是否可以禁用此行为? 运行命令为: /usr/loc
uwsgi 中的“mule farm”是什么,它有什么用?有一些使用示例吗?我没有在文档或其他任何地方找到任何东西。 最佳答案 一群有名字的骡子 --farm chickens:1,2,3. --fa
在学习Python web开发时候,可能会遇到诸如uwsgi,wsgi等名词,下面通过梳理总结探究它们之间的关系。 CGI CGI,(Common Gateway Interface)通用网关接口,是
我已经使用 uWSGI 部署了一个 WSGI 应用程序,但是 I am not using NGINX .如何使用 uWSGI's internal routing将 http 请求重定向到 http
我正在使用命令在 uWsgi 服务器中测试应用程序, uwsgi --http :9090 --wsgi-file myapp.py --callable app --processes 4 --th
我们有一个工作的 uwsgi 服务器,带有一些 RPC 调用(注意:我们能够使用 uwsgi.rpc 与进程对话,因此它们端的设置很好)。我们发现我们有一些进程没有在 uwsgi 下运行,但我们想要与
我正在尝试为我的 Django 项目设置 uwsgi。它运行良好 ./manage.py runserver 0.0.0.0:9010 但是当我尝试 uwsgi --http :9010 --chd
我是 Linux 开发的新手。我对阅读的文档有点困惑。我的最终目标是托管一个简单的 python 支持的 Web 服务,该服务将检查传入的有效负载,并将其转发到其他服务器。这应该不到 30 行 pyt
我的 Django 应用程序倾向于使用 uwsgi+nginx,谁能分享启动我的 uwsgi 进程的最佳方法?有没有人有调整uwsgi的经验? 最佳答案 在 OSX 上启动 Unice 上的 Upst
从 ini 文件启动 uwsgi 时崩溃,堆栈跟踪如下: Traceback (most recent call last):
我用 Django 编写了一个服务器应用程序,并使用 Tastypie 为移动应用程序提供 API,并使用本地 MySQL 服务器为数据库提供服务。 在进程被杀死或结束之前,查询似乎被缓存了。如果我在
我正在开发一个基于 Python 的应用程序(HTTP -- REST 或 jsonrpc 接口(interface)),它将用于生产自动化测试环境。这将连接到运行所有测试脚本的 Java 客户端。即
我尝试在 nginx+uwsgi、os - debian (3.1.0-1-amd64 x86_64) 上为 django 建立网络服务器 nginx 1.1.8-1,uwsgi 0.9.8.3-1
我是一名优秀的程序员,十分优秀!