Articles of concurrencia

Escritura concurrente con sqlite3

Estoy usando el módulo .db sqlite3 para escribir los resultados de los trabajos por lotes en un archivo .db común. Elegí SQLite porque varios procesos pueden intentar escribir al mismo tiempo, y como lo entiendo, SQLite debería manejar esto bien. De lo que no estoy seguro es de lo que sucede cuando varios procesos finalizan […]

¿Cómo hacer que los subprocesos de trabajo se cierren después de que se termina el trabajo en un patrón de productor-consumidor de múltiples hilos?

Estoy tratando de implementar un patrón productor / consumidor multiproceso usando Queue.Queue en Python 2.7. Estoy tratando de averiguar cómo hacer que los consumidores, es decir, los hilos de trabajo, se detengan una vez que se haya realizado todo el trabajo requerido. Vea el segundo comentario de Martin James a esta respuesta: https://stackoverflow.com/a/19369877/1175080 Envía una […]

Obtención del número de línea original para excepción en concurrent.futures

Ejemplo de uso de concurrent.futures (backport para 2.7): import concurrent.futures # line 01 def f(x): # line 02 return x * x # line 03 data = [1, 2, 3, None, 5] # line 04 with concurrent.futures.ThreadPoolExecutor(len(data)) as executor: # line 05 futures = [executor.submit(f, n) for n in data] # line 06 for future […]

¿Cómo ejecutar tareas simultáneamente en asyncio?

Estoy tratando de aprender cómo ejecutar tareas simultáneamente usando el módulo asyncio de Python. En el siguiente código, tengo un “rastreador web” simulado para un ejemplo. Básicamente, estoy tratando de llegar donde hay un máximo de dos solicitudes activas fetch () que ocurren en un momento dado, y quiero que se llame a process () […]

threading.Condition vs threading.Event

Todavía tengo que encontrar una explicación clara de las diferencias entre las clases de Condition y Event en el módulo de threading . ¿Existe un claro caso de uso en el que uno sería más útil que el otro? Todos los ejemplos que puedo encontrar utilizan un modelo de productor-consumidor como ejemplo, donde queue.Queue sería […]

Torcido o apio? ¿Cuál es el adecuado para mi aplicación con muchas llamadas de SOAP?

Estoy escribiendo una aplicación de Python que necesita concurrencia y asincronicidad. He recibido algunas recomendaciones para Twisted y Celery, pero tengo problemas para determinar cuál es la mejor opción para esta aplicación (tampoco tengo experiencia en esto). La aplicación (que no es una aplicación web) se centra principalmente en hacer llamadas SOAP a varias API […]

Iterar sobre la lista de liderar y arrastrar con multiproceso

Quiero iterar sobre una lista con 2 funciones usando multiprocesamiento, una función iterar sobre main_list desde el principio y otra desde el final, quiero esta función cada vez que iterate sobre la lista de muestra ( g ) ponga el elemento en la lista principal hasta que uno de ellos encontrar un duplicado en la […]

¿Qué parte de asyncio es concurrente? Quisiera detalles de implementación

La descripción del módulo asyncio es: Este módulo proporciona infraestructura para escribir código concurrente de un solo subproceso utilizando corrutinas, multiplexación de acceso de E / S a través de sockets y otros recursos, ejecutando clientes y servidores de red, y otras primitivas relacionadas. He estado leyendo sobre el nuevo y extraordinario módulo / paquete […]

La función de callback apply_async no está siendo llamada

Soy un novato en python, tengo una función que calcula la función para mis datos y luego devuelvo una lista que debe ser procesada y escrita en el archivo. Estoy usando Pool para hacer el cálculo y luego uso la función de callback escriba en el archivo, sin embargo, la función de callback no está […]

¿La cantidad de procesos de apio depende de la configuración de –currency?

Estamos ejecutando Celery detrás de Supervisor y comenzamos con celeryd –events –loglevel=INFO –concurrency=2 Sin embargo, esto crea un gráfico de proceso que tiene hasta tres capas de profundidad y contiene hasta 7 procesos de apio (el Supervisor genera un apio, que genera varios otros, que nuevamente genera procesos). Nuestra máquina tiene dos núcleos de CPU. […]