Articles of Python multiprocesamiento

No se puede escribir en un archivo utilizando el multiprocesamiento de Python

from itertools import product f = open(‘filename.txt’, ‘a’) def worker(i, j): print i,j f.write(“%s\t%s\n”%(i,j)) return def main(): a_list = [‘1’, ‘2’, ‘3’, ‘4’, ‘5’] #5 item b_list = [‘6’, ‘7’, ‘8’] #3 item # Total 5*3=15 combinations from multiprocessing import Pool pool = Pool(processes=4) results = [pool.apply_async(worker, args=(i, j)) for i, j in product(a_list, b_list)] […]

¿Por qué no se informa de errores de multiprocesamiento en Python y cómo activar los errores de informe?

Configuré un código simple para probar algunos problemas de manejo con multiprocesamiento y no puedo rastrear el error dentro de este código porque no recibo retroalimentación de los procesos. ¿Cómo puedo recibir una excepción de los subprocesos ya que ahora estoy ciego a eso? Cómo depurar este código. # coding=utf-8 import multiprocessing import multiprocessing.managers import […]

¿Cómo puedo procesar imágenes con OpenCV en paralelo usando multiprocesamiento?

Tengo un conjunto de imágenes en una carpeta que quiero preprocesar usando algunas funciones de OpenCV. La función detectAndaligncrop toma una ruta de la imagen y la procesa mediante OpenCV y devuelve la imagen de utput. Puedo hacerlo usando: for image_path in files_list: cropped_image, _=detectAndaligncrop(im) cv2.imwrite(“ouput_folder/{}”.format(os.path.basename(image_path)),cropped_im*255.) Sin embargo esto no funciona: jobs=[] for im_no, im […]

Cree nuevas conexiones TCP para cada solicitud HTTP en Python

Para mi proyecto universitario, estoy tratando de desarrollar un generador de tráfico basado en Python. He creado 2 máquinas CentOS en vmware y estoy usando 1 como mi cliente y 1 como mi máquina servidor. He utilizado la técnica de alias de IP para boost el número de clientes y servidores utilizando solo una máquina […]

multiprocessing.Queue as arg para agrupar worker anula la ejecución de worker

De hecho, me resulta difícil creer que me haya topado con el problema que tengo, parece que sería un gran error en el módulo de multiprocesamiento de python … De todos modos, el problema que me encuentro es que cada vez que paso un multiprocessing.Queue to multiprocessing.Pool worker como argumento, el pool pool nunca ejecuta […]

Los trabajadores de la piscina no completan todas las tareas.

Tengo un script multiproceso de Python relativamente simple que configura un grupo de trabajadores que agregan la salida a un dataframe de dataframe pandas por medio de un administrador personalizado. Lo que encuentro es que cuando llamo a close () / join () en el grupo, no se están completando todas las tareas enviadas por […]

¿Es seguro llamar al multiprocesamiento desde un hilo en Python?

De acuerdo con https://github.com/joblib/joblib/issues/180 , y ¿hay una forma segura de crear un subproceso desde un hilo en python? el módulo de multiprocesamiento de Python no permite el uso desde subprocesos. ¿Es esto cierto? Mi entendimiento es que está bien pasar de los hilos, siempre y cuando no estés sosteniendo un hilo. ¿Bloquear cuando lo […]

Python solicita módulo multihilo

¿Hay alguna forma posible de acelerar mi código utilizando la interfaz de multiprocesamiento? El problema es que esta interfaz utiliza la función de mapa, que solo funciona con 1 función. Pero mi código tiene 3 funciones. Intenté combinar mis funciones en una sola, pero no tuve éxito. Mi script lee la URL del sitio desde […]

Multiprocesamiento de Python: ¿por qué son más grandes los trozos grandes?

He estado creando un perfil de código utilizando el módulo de multiprocesamiento de Python (la función ‘trabajo’ solo ajusta el número). data = range(100000000) n=4 time1 = time.time() processes = multiprocessing.Pool(processes=n) results_list = processes.map(func=job, iterable=data, chunksize=10000) processes.close() time2 = time.time() print(time2-time1) print(results_list[0:10]) Una cosa que me pareció extraña es que el tamaño óptimo de los […]

No se puede pasar un objeto lxml etree a un proceso separado

Estoy trabajando en un proyecto para analizar varios archivos xml simultáneamente en Python usando lxml. Cuando inicializo el proceso, quiero que mi clase principal realice un trabajo en el XML antes de que pase el objeto etree al proceso, pero encuentro que cuando el objeto etree llega al nuevo proceso, la clase sobrevive pero el […]