gunicorn 支持如下4种工作模式
- Sync Workers
- Async Workers
- Tornado Workers
- AsyncIO workers
工作模式是通过worker_class参数配置的。可以是如下任一值:
- sync
- gevent
- eventlet
- tornado
- gaiohttp
- gthread
缺省值: sync
Sync Worders (sync)
最简单的同步工作模式
Async Worders (gevent, eventlet)
gevent和eventlet都是基于Greenlet库,利用python协程实现的
Tornado Worders (tornado)
利用python Tornado框架实现
AsyncIO Workers (gthread, gaiohttp)
gaiohttp利用aiohttp库实现异步I/O,支持web socket
gthread采用的是线程工作模式,利用线程池管理连接