timeout en execute de mysqldb
Gabriel Genellina
gagsl-py2 en yahoo.com.ar
Mar Abr 24 03:33:35 CEST 2007
En Mon, 23 Apr 2007 18:10:52 -0300, Carles Pina i Estany <carles en pina.cat>
escribió:
>> >Cual es la mejor manera de hacerlo? Se me ocurre hacerlo con threads,
>> >pero si lo pudiera evitar sería mucho mejor.
>>
>> Sip: un thread de trabajo comunicado via Queue, o tal vez un proceso
>> separado usando pipes.
>
> hoy empecé a verlo. No lo terminé pero tengo un problema: cancelar el
> thread "bloqueado". Los threads para Python no tienen "cancel". Cual es
> la mejor manera de "terminar" el thread que está bloqueado? (para no
> dejarlo colgado, vaya)
La verdad, no se si se puede. Si estuviera ejecutando codigo Python creo
que se podria "inyectarle" una excepcion desde afuera (creo que habia
alguna receta para eso en el CookBook). Pero en tu caso, en que esta
esperando que termine de ejecutar el sql, no se si realmente se puede
hacer algo...
Si te pasa seguido o queres asegurarte de que realmente se devuelvan todos
los recursos usados, en lugar de un thread podrias usar un proceso
separado - un proceso sí se puede matar con kill...
> Sí, tengo soluciones intermedias que me valdrian pero en sí mismo he
> movido el problema del thread principal al hijo :-) (y me gustaría que
> no hubiera N hijos dando vueltas porqué no los he sabido terminar)
En principio si el thread hijo termina su ejecucion cuando vuelve del sql,
por mas que demore un dia entero, deberia destruirse finalmente... aunque
parece una cuestion de fe.
--
Gabriel Genellina
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es
Más información sobre la lista de distribución Python-es