[pyar] multiprocessing ejecuta secuencialmente los procesos
Andres Riancho
andres.riancho en gmail.com
Vie Ago 19 15:17:15 ART 2016
Works on my machine.
$ cat pyar.py
import time
from multiprocessing import Pool
def check_machines():
maqs = [1, 2, 3, 4, 5]
pool = Pool(processes=5) # process per core
pool.map(do_check, maqs)
def do_check(maquina):
print "procesando %s" % maquina
time.sleep(2)
print "-> %s" % maquina
check_machines()
$ time python pyar.py
procesando 1
procesando 2
procesando 3
procesando 5
procesando 4
-> 2
-> 5
-> 1
-> 4
-> 3
real 0m2.056s
user 0m0.024s
sys 0m0.043s
$
On Fri, Aug 19, 2016 at 3:03 PM, Javier Marcon <javiermarcon en gmail.com> wrote:
> Hola tengo un código que quiero correr con multiprocessing para que me
> corra varios procesos al mismo tiempo, pero al correrlo noto que todos
> los procesos corren en forma secuencial y no en paralelo. el código es:
>
> from multiprocessing import Pool
> from .models import Maquina
>
> def check_machines():
> maqs = []
> maquinas = Maquina.objects.order_by('-empresa') #all()
> #select_related('Empresa')
> #print type(maquinas)
> for maquina in maquinas:
> maqs.append(maquina)
> pool = Pool(processes=5) # process per core
> pool.map(do_check, maqs)
>
> def do_check(maquina):
> print "procesando %s" % maquina.host
> time.sleep(10)
> print "-> %s" % maquina.host
>
> Como deberia ponerlo para que corra todos los do_check simultaneamente?
>
> Gracias,
>
> Javier.
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar
--
Andrés Riancho
Project Leader at w3af - http://w3af.org/
Web Application Attack and Audit Framework
Twitter: @w3af
GPG: 0x93C344F3
Más información sobre la lista de distribución pyar