[pyar] multiprocessing ejecuta secuencialmente los procesos

Javier Marcon javiermarcon en gmail.com
Vie Ago 19 15:03:08 ART 2016


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.


Más información sobre la lista de distribución pyar