Quickie here that needs more domain expertise on pymongo than I have right now:
Are the \"right\" parts of the pymongo driver written in python for me to call gevent mo
On initial inspection it doesn't appear to do any socket operations in the c code so it should be fine (blocking ops should just block the green thread).
I have used PyMongo with Gevent and here are a few things you need to watch out for:
pymongo.Connection
object, preferrably as a global or module-level variable. This is important because Connection
has within itself a pool!Connection
, patching socket alone is not enough.end_request
to return the connection to the pool.The answer to your question is go ahead, PyMongo works just fine with Gevent.