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ó.
> from gevent import monkey; monkey.patch_socket()
Comments
Post a Comment