Jag har använt PyMongo med Gevent och här är några saker du måste se upp med:
- Instantiera endast en
pymongo.Connectionobjekt, helst som en global variabel eller variabel på modulnivå. Detta är viktigt eftersomConnectionhar inom sig en pool! - Monkey lappar allt, eller åtminstone BÅDE socket och tråden. På grund av användningen av lokala trådar i
Connection, det räcker inte med enbart patchning. - Kom ihåg att ringa
end_requestför att återställa anslutningen till poolen.
Svaret på din fråga är varsågod, PyMongo fungerar alldeles utmärkt med Gevent.