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

Juan BC jbc.develop en gmail.com
Dom Jul 28 01:29:48 CEST 2013


Modulo multiprocess o subprocess depende como lo encares
El 27/07/2013 16:26, "Jesús Genicio" <jgenicio en gmail.com> escribió:

> Hola,
>
> Me gustaría poder "encapsularlos" en una misma clase para lanzarlos desde
> otro script y controlar la configuración y poder pararlos a voluntad. Estos
> dos servicios van a ser parte del mismo proyecto e incluso uno de ellos
> podría ser controlado desde el otro.
>
> Por ejemplo si alguien quiere subir un archivo y se verifica que tiene
> privilegios para ello, se lanzaría el servidor de archivos, se recepciona
> el archivo, se verifica y se da el ok, posteriormente se   para el servidor
> de archivos. De esta menera espero evitar un poco de spam y de gilipollas
> mandando chorradas al servidor, ya sabes.....Solo los autorizados y desde
> un pto concreto podrán enviar archivos.
>
> Bueno, gracias por responder y un saludo.
>
>
> El 27 de julio de 2013 15:26, Carlos Zuniga <carlos.zun en gmail.com>escribió:
>
>> 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.
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> http://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20130727/68c1e590/attachment.html>


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