Articles of concurrencia

Ejecutando 2 scripts de Python simultáneamente con Boost Python incrustado en C ++

Embebí Python en C ++ utilizando Boost Python. Quería ejecutar 2 scripts de Python al mismo tiempo. Los scripts también deben tener la oportunidad de acceder a las funciones de miembro de C ++. Bueno, cuando uso solo 1 hilo en el intérprete principal, puede usar las funciones miembro. Pero para ejecutar 2 scripts simultáneamente, […]

¿Por qué no se genera un TimeoutError en instancias concurrent.futures.Future?

Estoy basando esto en la muestra de https://docs.python.org/3/library/concurrent.futures.html#id1 . He actualizado lo siguiente: data = future.result() a esto: data = future.result(timeout=0.1) El documento para concurrent.futures.Future.result indica: Si la llamada no se ha completado en segundos, se generará un TimeoutError. el tiempo de espera puede ser un int o flotar (Sé que hay un tiempo de […]

¿Por qué es asyncio.Future incompatible con concurrent.futures.Future?

Las dos clases representan excelentes abstracciones para la progtwigción concurrente, por lo que es un poco desconcertante que no admitan la misma API. En concreto, según la documentación : asyncio.Future es casi compatible con concurrent.futures.Future . Diferencias result() y exception() no toman un argumento de tiempo de espera y generan una excepción cuando el futuro […]

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 […]