Gunicorn
【简介 todo】
Gevent
【简介 todo】
如何在gevent使用异步编程
大家都知道python因为全局解释器锁(GLI)的原因,多线程并非是真实的,多个线程在不断抢解释器锁,获得执行机会,如此一来,python服务的并发性能令人汗颜。但你如果使用Gunicorn 的gevent worker 启动服务器,使用协程作为执行的最小单位,那么服务的并发能力会大大提高,那么我需要在gevent环境中使用异步的时候应该如何写?下面是如何在gevent worker中启动异步的例子:
import gevent
def do_worker(arg):
print(arg)
# 将工作提交至协程
gevent.spawn(do_worker, "async test")
# 将工作提交至协程,延迟2s执行,类似Timer的能力
gevent.spawn_later(2, do_worker, "async")