Gevent, monkey patching + threads en python

Hay ocasiones en que las coroutines y hebras en python no se llevan muy bien, eso sucede cuando aplicas parches utilizando gevent en gran parte de bibliotecas generales. Me pasó que empecé a ver un error muy extraño:
Exception KeyError: KeyError(9182734645,) in <module 'threading'... 

Lo extraño es que no estaba trabajando con hebras, sino que necesitaba aplicar coroutines a la biblioteca de sockets. A decir verdad, no quise usar tiempo en investigar porque sucedía y necesitaba hacer que mi código funcionara, por lo que simplemente fui más específico en aplicar el parche y solo toqué las bibliotecas relacionadas con sockets. Luego de eso obviamente, el error extraño desapareció.

Lo bueno es que ser más específico tampoco fue difícil.
> from gevent import monkey; monkey.patch_socket()

Comments

Popular posts from this blog

Mysql Fabric is eager to do failover

En la carrera por la Virtualización

La manera de balancear carga a "la chilena" (hacerla cortita)