timeout en execute de mysqldb

Carles Pina i Estany carles en pina.cat
Lun Abr 23 23:10:52 CEST 2007


Hola,

On Apr/20/2007, Gabriel Genellina wrote:
> En Fri, 20 Apr 2007 20:21:41 -0300, Carles Pina i Estany <carles en pina.cat>  
> escribió:

> >He probado a hacer algo como:
> >--------
> >signal.signal(signal.SIGALRM,handler)
> >signal.alarm(1)
> >cursor.execute(sql)
> >signal.alarm(0)
> >--------
> >
> >esta idea funciona con time.sleep(5), pero con el cursor.execute(sql) no
> >funciona (es posible que se desactiven las señales en el execute?)

[...]

> >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)

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).

Gracias!

-- 
Carles Pina i Estany		GPG id: 0x8CBDAE64
	http://pinux.info	Manresa - Barcelona




Más información sobre la lista de distribución Python-es