Ho usato PyMongo con Gevent e qui ci sono alcune cose a cui devi fare attenzione:
- Crea un'istanza solo di un
pymongo.Connectionoggetto, preferibilmente come variabile globale oa livello di modulo. Questo è importante perchéConnectionha 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_requestper ripristinare la connessione al pool.
La risposta alla tua domanda è vai avanti, PyMongo funziona perfettamente con Gevent.