I have a Django management command that makes thousands of TCP/UDP requests. I've used Gevent to speed this up as I've restructured my code to work as coroutines. The socket connections no longer block but from what I've read, parts of Django still aren't green. (By green, I mean using greenlets.)
Could you tell me what parts of Django aren't green and what I can do to make them green? There are some DB related parts that still block I think. Are there any libraries/patches for Django that help me make it green?
I'm not too concerned about the request/response cycle being green or not therefore, would Gunicorn help me?
Thanks
The gevent monkey patcher will patch the standard library to be Greenlet friendly. This should take of a lot of common Django calls.
from gevent import monkey; monkey.patch_all()
As far as databases, normally the interfaces are blocking. If you use PostgreSQL look into psyco_gevent to monkey patch psycopg2 to cooperate with gevent.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With