Articles of multiprocesamiento de

Apio: ¿cómo limitar el número de tareas en la cola y dejar de alimentar cuando está lleno?

Soy muy nuevo en Celery y aquí está la pregunta que tengo: Supongamos que tengo un script que se supone que constantemente busca datos nuevos de la base de datos y los envía a los trabajadores usando Celery. tareas.py # Celery Task from celery import Celery app = Celery(‘tasks’, broker=’amqp://guest@localhost//’) @app.task def process_data(x): # Do […]

Python: usar el módulo de multiprocesamiento como posible solución para boost la velocidad de mi función

Escribí una función en Python 2.7 (en Windows OS 64bit) para calcular el valor medio del área de intersección a partir de un polígono de referencia (Ref) y uno o más polígonos segmentados (Seg) en formato de archivo de forma ESRI. El código es bastante lento porque tengo más de 2000 polígonos de referencia y, […]

El tiempo de impresión en el script multiproceso de Python devuelve el tiempo negativo transcurrido

Ejecutándolo en Ubuntu 14 con Python 2.7.6 Simplifiqué el script para mostrar mi problema: import time import multiprocessing data = range(1, 3) start_time = time.clock() def lol(): for i in data: print time.clock() – start_time, “lol seconds” def worker(n): print time.clock() – start_time, “multiprocesor seconds” def mp_handler(): p = multiprocessing.Pool(1) p.map(worker, data) if __name__ == […]

¿Cómo usar Python multinúcleo con proceso PyQt4?

Estoy escribiendo una aplicación en pyqt4 que tiene que leer y analizar muchos archivos XML. Hecho un solo hilo, toma un tiempo hacer todo ese análisis y hacer los miles de objetos de Python correspondientes a ese XML entrante. He perfilado el código y, por lo que puedo decir, se trata de un proceso de […]

Python – copias múltiples de salida cuando se usa multiprocesamiento

Posible duplicado: Multiprocesamiento iniciando demasiadas instancias de Python VM Módulo ejecutado a través de python myscript.py (no entrada de shell) import uuid import time import multiprocessing def sleep_then_write(content): time.sleep(5) print(content) if __name__ == ‘__main__’: for i in range(15): p = multiprocessing.Process(target=sleep_then_write, args=(‘Hello World’,)) p.start() print(‘Ah, what a hard day of threading…’) Este script da como […]

El multiprocesamiento de Python apply_async nunca devuelve el resultado en Windows 7

Estoy tratando de seguir un ejemplo de multiprocesamiento muy simple: import multiprocessing as mp def cube(x): return x**3 pool = mp.Pool(processes=2) results = [pool.apply_async(cube, args=x) for x in range(1,7)] Sin embargo, en mi máquina Windows, no puedo obtener el resultado (en ubuntu 12.04LTS funciona perfectamente). Si inspecciono los results , veo lo siguiente: [, , […]

Escritura simultánea en el mismo archivo usando hilos y procesos.

¿Cuál es la solución correcta para estar seguro de que el archivo nunca se dañará al usar muchos procesos y subprocesos? Versión para hilos, que cuidan los errores de apertura. lock = threading.RLock() with lock: try: f = open(file, ‘a’) try: f.write(‘sth’) finally: f.close() # try close in any circumstances if open passed except: pass […]

Python NotImplementedError: los objetos de la agrupación no se pueden pasar entre procesos

Estoy tratando de entregar trabajo cuando se agrega una página a la lista de páginas, pero la salida de mi código devuelve un error NotImplemented. Aquí está el código con lo que estoy tratando de hacer: Código: from multiprocessing import Pool, current_process import time import random import copy_reg import types import threading class PageControler(object): def […]

Python: cómo utilizar el valor y la matriz en el grupo de multiprocesamiento

Para multiprocessing con Process , puedo usar Value, Array configurando args param. Con multiprocessing con Pool , ¿cómo puedo usar Value, Array. No hay nada en los documentos sobre cómo hacer esto. from multiprocessing import Process, Value, Array def f(n, a): n.value = 3.1415927 for i in range(len(a)): a[i] = -a[i] if __name__ == ‘__main__’: […]

multiproceso de las funciones de llamada pool.map en cierto orden

¿Cómo puedo hacer que multiprocessing.pool.map distribuya los procesos en orden numérico? Más información: Tengo un progtwig que procesa unos pocos miles de archivos de datos, haciendo una gráfica de cada uno. Estoy usando multiprocessing.pool.map para distribuir cada archivo a un procesador y funciona muy bien. A veces esto lleva mucho tiempo, y sería bueno mirar […]