<div dir="ltr"><div>Volviendo un poco a python, habitualmente permitir a los hijos crear hijos suele derivar en una arquitectura compleja y difícil de manejar. Es fácil que se consuman todos los recursos de la máquina.<br><br></div><div>¿Has pensado en una arquitectura basada en productores-consumidores? De esa manera tú controlas el número de procesos. Y para algo así, nada mejor que <a href="https://docs.celeryproject.org/en/stable/getting-started/introduction.html">Celery</a> XD</div><div><br></div><div>Asi, los procesos que antes lanzaban procesos sólo tienen que publicar el mensaje en la cola apropiada y algún consumidor lo gestionará en algún momento. Y, como ventaja adicional, lo acabas de hacer distribuido. La arquitectura más simple sería permitir que todos los workers gestionen todos los tipos de mensajes.</div><div><br></div><div>Si te parece excesivo tener que instalar un RabbitMQ o un Redis (con el beneficio adicional de la persistencia, si así lo configuras) puedes hacer lo mismo pero con <a href="https://docs.python.org/3/library/queue.html">Queue</a>. <br></div><div><br></div><div>Mis 2 cents.<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">El mar, 4 may 2021 a las 17:39, Jesus Cea (<<a href="mailto:jcea@jcea.es">jcea@jcea.es</a>>) escribió:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 29/4/21 9:14, Pablo Conesa wrote:<br>
> Podría haber diferencias aqui, sys.stdout se desvia a un fichero en <br>
> worker2, y puede que worker3 y worker4 lo "hereden"?<br>
<br>
Sí, de hecho es lo normal si los "hijos no hacen nada especial", heredan <br>
los descriptores del padre.<br>
<br>
> Estos children no serían "workers" serian comandos a programas que hace <br>
> prosamiento de imagenes y en estos caso si queremos pararlos. Es solo en <br>
> casos, excepcionales, donde lanzamos otros "workers", queremos "separar" <br>
> el subproceso. Digamos que tenemos tener 2 modos de lanzar subprocesos: <br>
<br>
> como child o separado.<br>
<br>
No es trivial matar los hijos de un proceso que ha muerto, sin <br>
colaboración de todas sus partes. En código mío yo puedo hacer cosas <br>
como mirar quien es mi padre, y si cambia, sé que mi padre ha muerto y <br>
me suicido. Pero eso tienes que programarlo tú.<br>
<br>
Una opción es el tema de sesiones que he comentado en un mensaje <br>
anterior. En linux, escribe "man 2 setsid".<br>
<br>
<a href="https://unix.stackexchange.com/a/240657/215258" rel="noreferrer" target="_blank">https://unix.stackexchange.com/a/240657/215258</a><br>
<br>
En todo caso aquí ya estamos hablando de linux y sistemas operativos. <br>
Nos hemos ido de "python".<br>
<br>
-- <br>
Jesús Cea Avión _/_/ _/_/_/ _/_/_/<br>
<a href="mailto:jcea@jcea.es" target="_blank">jcea@jcea.es</a> - <a href="https://www.jcea.es/" rel="noreferrer" target="_blank">https://www.jcea.es/</a> _/_/ _/_/ _/_/ _/_/ _/_/<br>
Twitter: @jcea _/_/ _/_/ _/_/_/_/_/<br>
jabber / <a href="mailto:xmpp%3Ajcea@jabber.org" target="_blank">xmpp:jcea@jabber.org</a> _/_/ _/_/ _/_/ _/_/ _/_/<br>
"Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/<br>
"My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/<br>
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz<br>
<br>
_______________________________________________<br>
Asociación Python España: <a href="http://www.es.python.org/" rel="noreferrer" target="_blank">http://www.es.python.org/</a><br>
Python Madrid: <a href="http://www.python-madrid.es/" rel="noreferrer" target="_blank">http://www.python-madrid.es/</a><br>
Madrid mailing list<br>
<a href="mailto:Madrid@lists.es.python.org" target="_blank">Madrid@lists.es.python.org</a><br>
<a href="https://lists.es.python.org/listinfo/madrid" rel="noreferrer" target="_blank">https://lists.es.python.org/listinfo/madrid</a><br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature">Miguel Ángel García Martínez<div><a href="http://www.magmax.org" target="_blank">http://www.magmax.org</a><br><div style="text-align:left"><a href="mailto:miguelangel.garcia@gmail.com" target="_blank">Mail</a> | <a href="http://twitter.com/#magmax9" target="_blank">Twitter</a> | <a href="http://www.linkedin.com/in/miguelangelgarciamartinez" target="_blank">LinkedIn</a> | <a href="http://about.me/miguelangelgarcia" target="_blank">about.me</a> <br></div></div></div>