duanhongyi / dwebsocket

A websocket Protocol for django

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

uwsgi部署 多个客户端同时请求数据服务端没反应

zengcul opened this issue · comments

我使用dwebsocket做了个实时刷新日志的应用 但是开启客户端的个数受制于processes 开多少个进程才能开多少个web端 这.....

uwsgi --http :8091 --http-websockets --processes 1 --wsgi-file wsgi.py --async 30 --ugreen --http-timeout 300

image
再次刷新页面或者离开页面后报错 估计是client 在服务器返回前主动断开连接

@zengcul
一般多进程使用redis/disque/rabbitmq等队列服务做一下数据转发即可。

image
可以把带有装饰器的view用线程包装下吗 把每个web请求开启一个线程处理

@zengcul 应该不行,外部线程结束后,内部线程使用的流也会关闭;正常是每个请求是一个线程/协程;
如果线程阻塞了不会影响其他人使用,协程阻塞就不一定了,需要做patch;主要跟部署环境有关,一般用gevent/eventlet打上patch都不会有问题。

可以详细说下怎么部署吗 我试了uwsgi --http :8091 --http-websockets --processes 1 --wsgi-file wsgi.py --gevent 20 --gevent-monkey-patch 报错
image

1、安装vargant

2、cd dwebsocket/examples

3、vagrant up

4、vagrant ssh

5、cd /vagrant

6、./init.sh

7、python run_eventlet.py -b 0.0.0.0:18000

8、本机访问: http://192.168.33.10:18000