【发布时间】:2013-08-22 05:51:27
【问题描述】:
我相信 nginx 是基于事件的,因此只有 1 个工作人员可以处理多个请求,例如 100 个请求/秒。然后这些请求将被传递给 uwsgi 进行处理,然后一旦完成,它将结果推送回 nginx,nginx 会将结果推送给执行 http 请求的用户。
假设我的 uwsgi 只使用 1 个 worker(无线程),uwsgi 会一一处理这 100 个请求吗?所以它需要做 100 个进程来完成整个请求。 现在如果我打算使用长轮询来快速更新我的前端会发生什么How does facebook, gmail send the real time notification?
我相信它会迫使uwsgi处理单个请求(这是长轮询过程)并暂停所有其他请求,从而导致整个系统崩溃。
我对 uwsgi 的工作原理是否有任何误解,或者是否有其他解决方案可以实现长轮询?
谢谢
【问题讨论】:
-
这是一个有趣的问题,但它的标题很糟糕。将其更改为如何,以吸引可以提供帮助的人的注意:“使用 Comet 时,uwsgi 进程是否保持空闲?”并且也许还会在标签中添加“彗星”。请注意,这个问题可能更适合serverfault.com。
-
感谢您的建议
标签: python nginx comet long-polling uwsgi