RE: [Python-es] Fallo de segmentación

"Jorge Romeo" <[email protected]>
Newsgroups gmane.comp.python.general.castellano
Message-ID <[email protected]>
Buenos días,
He cambiado la versión del psycopg2 de la 2.0.8 que estaba usando a la 2.0.12. Como has dicho tú, este módulo tenía algún problemilla con aplicaciones multihilo. Posteriormente encontré un hilo en el foro de psycopg que hablaba de este problema en esta versión.

Desde el principio, cada hilo tiene su propia conexión, ya que no son tantos como para estresar la BD. Lo de los pool no será necesario.

Por último, decir que la versión 2.0.8 de psycopg2 viene por defecto en Ubuntu 9.0 (al menos en la edición server) así que cuidadin porque puede que lo tengais bastante gente.

Gracias y un saludo,
Jorge

-----Mensaje original-----
De: Chema Cortes [mailto:[email protected]] 
Enviado el: viernes, 04 de septiembre de 2009 3:13
Para: Lista de discusión sobre python en castellano
Asunto: Re: [Python-es] Fallo de segmentación

El 3 de septiembre de 2009 16:48, Jorge Romeo<[email protected]> escribió:

> Además de el módulo de la base de datos, cabe destacar que el programa consta de 3 hilos (threading.Thread) de ejecución, cada uno de los cuales lanza otros dos hilos que gestionan puertos serie para la captura de datos. La variable query que se le acaba pasando a la función que ha cogido la excepción está en casi todas las funciones del programa... Tal vez los hilos se la pisen entre ellos o algo así...
>
> Si hace falta más código o información la pondré, no quería alargar este primer mensaje demasiado.

Haría falta ver más código para saber lo que pasa, pero se intuye que
es un problema con los hilos y cómo éstos comparten las conexiones. El
módulo psycopg2 permite que los hilos compartan el módulo y las
conexiones, pero no los cursores (threadsafety==2), por lo que cada
hilo tiene que abrir sus propios cursores. Aún más, sería mejor que
cada hilo tuviera su propia conexión (mírate los pools de conexiones,
eg: ThreadedConnectionPool, en la documentación tienes un ejemplo
llamado threads.py)
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes


_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.