Articles of Python multiprocesamiento

¿Cómo crear un locking / semáforo global con multiprocessing.pool en Python?

Quiero limitar el acceso a los recursos en los procesos de los niños. Por ejemplo, limite las descargas de http , el disco io , etc. ¿Cómo puedo lograrlo expandiendo este código básico? Por favor, comparta algunos ejemplos de código básico. pool = multiprocessing.Pool(multiprocessing.cpu_count()) while job_queue.is_jobs_for_processing(): for job in job_queue.pull_jobs_for_processing: pool.apply_async(do_job, callback = callback) pool.close() […]

¿Cuándo deberíamos llamar multiprocessing.Pool.join?

Estoy usando ‘multiprocess.Pool.imap_unordered’ como sigue from multiprocessing import Pool pool = Pool() for mapped_result in pool.imap_unordered(mapping_func, args_iter): do some additional processing on mapped_result ¿Debo llamar a pool.close o pool.join después del bucle for?

Python ¿Cómo podemos ejecutar la función araña de Scrapy basada en una condición?

Tengo una función de multiprocesamiento en Python como se describe a continuación en Scrapy que debe corregirse. ¿Podría hacer que run_spider () se verifique primero para que no se ejecute si response.css (‘div.quote’) está en blanco? En este momento todavía se está ejecutando si el resultado está en blanco (puede intentar cambiarlo con algo más […]

¿Puedo usar multiprocessing.Pool en un método de una clase?

Estoy tratando de usar multiprocessing en mi código para un mejor rendimiento. Sin embargo, tengo un error de la siguiente manera: Traceback (most recent call last): File “D:\EpubBuilder\TinyEpub.py”, line 49, in e.epub2txt() File “D:\EpubBuilder\TinyEpub.py”, line 43, in epub2txt tempread = self.get_text() File “D:\EpubBuilder\TinyEpub.py”, line 29, in get_text txtlist = pool.map(self.char2text,charlist) File “C:\Python34\lib\multiprocessing\pool.py”, line 260, in […]

Compartiendo muchas colas entre procesos en Python

Soy consciente del multiprocessing.Manager() y cómo se puede usar para crear objetos compartidos, en particular colas que pueden compartirse entre los trabajadores. Existe esta pregunta , esta pregunta , esta pregunta e incluso una de mis propias preguntas . Sin embargo, necesito definir muchas colas, cada una de las cuales está vinculando un par específico […]

Donde llamar a join () cuando multiprocesamiento

Cuando uso el multiprocesamiento en Python, generalmente veo ejemplos en los que se llama a la función join() en un bucle separado donde se creó realmente cada proceso. Por ejemplo, esto: processes = [] for i in range(10): p = Process(target=my_func) processes.append(p) p.start() for p in processes: p.join() Es más común que esto: processes = […]

Datos de multiprocesamiento y serialización de Python

Estoy ejecutando un script en una computadora de la escuela usando el módulo de multiprocessing . Estoy serializando los datos con frecuencia. Se puede resumir mediante el siguiente código: import multiprocessing as mp import time, pickle def simulation(j): data = [] for k in range(10): data.append(k) time.sleep(1) file = open(‘data%d.pkl’%j, ‘wb’) pickle.dump(data, file) file.close() if […]

obteniendo pid del proceso hijo

Estoy usando el módulo de multiprocesamiento de Python para generar un nuevo proceso como sigue : import multiprocessing import os d = multiprocessing.Process(target=os.system,args=(‘iostat 2 > a.txt’,)) d.start() Quiero obtener el comando pid de iostat o el comando ejecutado usando un módulo de multiprocesamiento Cuando ejecuto: d.pid me da un pid de subshell en el que […]

Conservar los atributos personalizados al seleccionar la subclase de la matriz numpy

He creado una subclase de numpy ndarray siguiendo la documentación de numpy . En particular, he agregado un atributo personalizado modificando el código provisto. Estoy manipulando instancias de esta clase dentro de un bucle paralelo, usando el multiprocessing Python. Como lo entiendo, la forma en que el scope es esencialmente ‘copiado’ a varios subprocesos es […]

¿Es posible ejecutar la función en un subproceso sin subprocesos o escribir un archivo / script separado?

import subprocess def my_function(x): return x + 100 output = subprocess.Popen(my_function, 1) #I would like to pass the function object and its arguments print output #desired output: 101 Solo he encontrado documentación sobre cómo abrir subprocesos usando scripts separados. ¿Alguien sabe cómo pasar objetos de función o incluso una forma fácil de pasar el código […]