我什么时候需要使用带有gevent的monkey_patch

时间:2013-09-25 15:03:45

标签: python django gevent gunicorn

我有一个django应用程序,我认为我需要gevent,因此网络服务器不会阻止长连接。

我没有使用websockets - 只是一个简单的应用程序。我可以使用gevent和gunicorn一样:

gunicorn -k gevent -c config.py -b :9999 app:app

在我的应用中,我没有像manage.py中的以下代码:

monkey.patch_all()

我什么时候需要使用猴子补丁?如果没有这个改变,应用程序怎么能正常工作?

1 个答案:

答案 0 :(得分:0)

当你有使用标准库中的阻塞函数的python代码/模块时,会使用来自Gevent的Monkey补丁。例如,您现有的代码使用线程和urllib2模块同时下载多个页面,并且您希望使用来自gunicorn的代码。

请注意,使用带有greenlet的线程的正确方法是使用ThreadPool。