<div dir="ltr"><div><div><span class="gmail-">"...la complicacion viene cuando es mas eficiente hacer uno de estos nuevos trabajos inmediatamente que hacer uno de los que ya estan en la cola..."<br><br>Con que criterio definís que pueda ser mas eficiente? esto lo analisa el master o el worker?<br><br>Parece un problema estándar de diagramación de tareas atómicas, donde el master ademas es el diagramador... en ese caso tenes una LISTA de tareas, que para los workers es una cola y agarran siempre la ultima pero que el master puede modificar para reflejar el orden mas eficiente...<br><br></span></div><span class="gmail-">Tenes un problema con la librerias?<br><br></span></div><span class="gmail-">Salud!<br></span><div><div><span class="gmail-"><br></span>2017-03-02 17:55 GMT-03:00 Facundo Batista <span dir="ltr"><<a href="mailto:facundobatista@gmail.com" target="_blank">facundobatista@gmail.com</a>></span>:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-">2017-03-01 19:14 GMT-03:00 Marcos Dione <<a href="mailto:mdione@grulic.org.ar">mdione@grulic.org.ar</a>>:<br>
<br>
>     tengo un problemita que no s'e c'omo solucionar. tengo un sistema que<br>
> tiene N workers y un masteri, implementados con multiprocessing. no puedo<br>
> usar mltithreading porque una de las libs que uso (mapnik) no lo soporta.<br>
> el master mete trabajos para hacer en una cola, los workers sacan<br>
> trabajos y laburan, todo muy simple. pero no.<br>
><br>
>     un worker, cuando termina, puede generar entre 0 y 4 trabajos mas.<br>
> hay una condicion de corte que hace que en un momento determinado los<br>
> workers siempre devuelven 0 trabajos, asi que eso no es problema. la<br>
> complicacion viene cuando es mas eficiente hacer uno de estos nuevos<br>
> trabajos inmediatamente que hacer uno de los que ya estan en la cola. o<br>
> sea, necesito una pila, realmente, pero multiprocessing no tiene.<br>
><br>
>     estaba pensando en hacer esto:<br>
><br>
> * una cola de trabajos A de tamanyo N+1 master->workers.<br>
> * una cola B de tamanyo 4*N+1 workers->master para los trabajos nuevos.<br>
> * el master inicialmente mete un trabajo (esto es parte del problema).<br>
> * luego se queda esperando trabajos nuevos por B, los saca y los mete en<br>
> una pila, y de la pila saca y los mete en A. ya estoy viendo que esto<br>
> parece estudpido, pero como A tiene un tamanyo limitado, no puedo meter<br>
> cosas indefinidamente.<br>
> * los workers sacan trabajos de A y eventualemnte meten nuevos en B.<br>
> * notar que tanto A como B bloquean si estan vacias o llenas, asi que hay<br>
> que teenr mucho ojo con esto.<br>
<br>
</span>No llego a entender.<br>
<br>
Creo que porque no llego a "ver" qué complicación tenés con las colas.<br>
¿Las implementás vos? ¿Cómo mete el master tareas? ¿cómo las consume<br>
cada worker? ¿cómo te devuelve cada worker el resultado y/o nuevas<br>
tareas?<br>
<br>
Si vos tenés la cola implementada a gusto en el proceso del master,<br>
¿no podés tener una LIFO y ya? Entonces, metés una tarea ahí, y las<br>
nuevas tareas que van cayendo se consumen antes que las viejas...<br>
<br>
Pero bueno, me parece que me falta entender parte del problema.<br>
<br>
Slds.<br>
<span class="gmail-HOEnZb"><font color="#888888"><br>
--<br>
.    Facundo<br>
<br>
Blog: <a href="http://www.taniquetil.com.ar/plog/" rel="noreferrer" target="_blank">http://www.taniquetil.com.ar/<wbr>plog/</a><br>
PyAr: <a href="http://www.python.org/ar/" rel="noreferrer" target="_blank">http://www.python.org/ar/</a><br>
Twitter: @facundobatista<br>
</font></span><div class="gmail-HOEnZb"><div class="gmail-h5">______________________________<wbr>_________________<br>
pyar mailing list <a href="mailto:pyar@python.org.ar">pyar@python.org.ar</a><br>
<a href="http://listas.python.org.ar/listinfo/pyar" rel="noreferrer" target="_blank">http://listas.python.org.ar/<wbr>listinfo/pyar</a><br>
<br>
PyAr - Python Argentina - Sitio web: <a href="http://www.python.org.ar/" rel="noreferrer" target="_blank">http://www.python.org.ar/</a><br>
<br>
La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - <a href="http://www.usla.org.ar" rel="noreferrer" target="_blank">http://www.usla.org.ar</a></div></div></blockquote></div><br></div></div></div></div>