serve_forever

Luis Garcia Merino lgmerino en yahoo.com
Jue Mayo 22 10:51:09 CEST 2008


----- Original Message ----
From: Oswaldo Hernández <listas en soft-com.es>
To: Lista de discusión sobre python en castellano <python-es en aditel.org>
Sent: Thursday, May 22, 2008 10:38:33 AM
Subject: [Python-es] serve_forever

Hola,

En una aplicacion utilizo el modulo SocketServer.ThreadingTCPServer el cual me funciona muy bien.

El problema con el que me encuentro es con el metodo serve_forever. Este metodo, como su nombre 
indica, maneja las conexiones entrantes de una forma muy bien explicada en su doc:

         """Handle one request at a time until doomsday."""

Bueno, el problema con el que me encuentro es ese, como detener el servidor desde otro thread. No 
encuantro ningúm metodo para ello en el modulo.

He probado a cerrar el socket del servidor, pero no termina de funcionar bien puesto que hasta que 
el servidor necesite utilizarlo no salta la excepción, posiblemente sea debido a que el cierre se 
realiza desde otro thread.

Finalmente he conseguido hacerlo de una forma un tanto chapucera, pero la pregunta es:

¿Alguien sabe como finalizar el servidor de una forma limpia?

Gracias.


-- 
*****************************************
Oswaldo Hernández
oswaldo (@) soft-com (.) es
*****************************************
PD:
Antes de imprimir este mensaje, asegúrese de que es necesario.
El medio ambiente está en nuestra mano.
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes


Buenos días,
no lo he hecho, pero supongo que puedes programar el servidor para que al recibir determinada orden a través del socket se termine la ejecución con server_close()... imagino que también podría hacerse con kill y subprocess... aunque creo que la primera opción es más "limpia", pero no sé si lo suficientemente limpia para ti :)

Un saludo,

        Luis



      
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





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