0

我有一个 django 应用程序,我决定需要 gevent,这样网络服务器就不会阻塞长连接。

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

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

在我的应用程序中,manage.py 中没有类似以下代码的内容:

monkey.patch_all()

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

4

1 回答 1

0

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

请注意,将线程与 greenlets 一起使用的正确方法是通过 ThreadPool。

于 2013-09-30T12:21:17.220 回答