[Python-es] Lanzar dos servidores diferentes desde el mismo archivo

Carlos Zuniga carlos.zun en gmail.com
Sab Jul 27 15:26:01 CEST 2013


On Sat, Jul 27, 2013 at 5:08 AM, Jesús Genicio <jgenicio en gmail.com> wrote:
> Hola,
>
> NEcesito lanzar dos servidores, uno que atiende una base de datos y otro que
> recibe y procesa los archivos, de la manera
>
> Servidor de datos:
>
>         host = '192.168.1.54'
> port=8000
> debug=True;
> service_class_path = os.path.dirname(os.path.abspath(__file__)) + "/class"
> srv=JsonRpcServer(host,port,debug)
> srv.addServicePath( service_class_path )
> srv.serve_forever()
>
> Y el servidor de archivos:
>
> class upload_file():
> def __init__( self):
> httpd = make_server('', 18000, self.upload)
> print "Serving on port 18000..."
> httpd.serve_forever()
>
> Me gustaría poder lanzar los dos desde una clase para poder ajustar los
> parámetros como ip, puerto, etc de forma "centralizada"
>
> He mirado multiprocessing y treading pero no me aclaro, se lanza el primero
> pero no el sgundo ¿?
>
> De la manera:
>
> def main(): import threading procesos= [ servidor_datos(),
> servidor_archivos()] for s in procesos: s.start() for s in procesos:
> s.join()
>
> ¿Me podéis echar un cable otra ves.?
>

Es necesario que estan ambos en el mismo proceso?

Si no, puedes hacer un script en bash que los ejecute en el background:

    #!/bin/sh
    python server1.py &
    python server2.py &

O algo más elegante y añadirlos como servicios

Saludos
-- 
A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos
de leer manuales.


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