2013-03-26 79 views
3

我只想知道当我使用gunicorn服务器时,是否有可能在Django中运行和处理多个进程。用Gunicorn服务器处理Django中的多个进程请求

如果一个客户端正在请求数据,并且同时其他客户端请求相同,那么这两个进程应该同时执行而不是队列。

有没有其他的方法可以做到这一点?

回答

1

可以启动多个工作进程:

gunicorn -w 4 ... 

这将创建4个过程,每个能同时处理一个请求。

你可能还使用了不同的工人的类型,比如geventmeinheld,使gunicorn处理请求异步:

gunicorn --worker-class=gevent ... 
gunicorn --worker-class="egg:meinheld#gunicorn_worker" ... 

对于那些过去两年,你需要或者安装gevent(居委版本之一)或meinheld

+0

2013-03-27 02:54:26 [关键]工人超时(pid:7454) – user1939565 2013-03-27 07:55:45

+0

工人超时的标准配置为30秒,如果你的工人需要更多的时间(如果他们做,我想知道为什么......)你需要用'-t'来提高它。您也可以使用'--log-level = debug'来启动gunicorn以获取更多信息。 – robertklep 2013-03-27 07:58:48

+0

我得到这个错误,因为请求无法在30秒内完成:2013-03-27 02:54:26 [4575] [CRITICAL]工作者超时(pid:7454) 服务器可以有多个请求并获取数据可以需要时间这是不确定的。我无法定义--timeout,因为我不知道所需的时间,因为数据是通过telnet从其他服务器获取的。 – user1939565 2013-03-27 08:01:52