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