Ho usato PyMongo con Gevent e qui ci sono alcune cose a cui devi fare attenzione:
- Crea un'istanza solo di un
pymongo.Connection
oggetto, preferibilmente come variabile globale oa livello di modulo. Questo è importante perchéConnection
ha al suo interno una piscina! - Monkey patch tutto, o almeno ENTRAMBI socket e threading. A causa dell'uso di thread locali in
Connection
, il patching del socket da solo non è sufficiente. - Ricordati di chiamare
end_request
per ripristinare la connessione al pool.
La risposta alla tua domanda è vai avanti, PyMongo funziona perfettamente con Gevent.