【发布时间】:2017-08-31 18:18:39
【问题描述】:
我知道 Django 是请求/响应周期,而 Django Channels 是不同的,我的问题与此无关。
我们知道 uWSGI/gunicorn 创建工作进程并且可以配置在线程中执行每个请求。这样它就可以在具有 10 个线程的单个 uWSGI 工作进程中“同时”(非并行)处理 10 个请求。
现在让我们假设每个 web 客户端都想使用 Django Channels 创建一个 websocket,根据我有限的理解(使用 vanilla 实现),它将在单个线程中处理每条消息,这意味着同时处理 x 数量的连接,您需要 x 个通道工作进程。我知道有人会建议增加进程数,我不是来讨论这个的。
我的问题是,是否有任何现有的库可以与 uWSGI/gunicorn 执行类似的工作,在线程中执行消费者函数?
【问题讨论】: