Articles of concurrent.futures

¿Cuál es la diferencia entre concurrent.futures y asyncio.futures?

Para aclarar el motivo de esta pregunta: Es confuso usar dos módulos con el mismo nombre. ¿Qué representan ellos que los hace distintos? ¿Qué tarea (s) puede uno resolver que el otro no puede y viceversa?

Cómo romper time.sleep () en un python concurrent.futures

Estoy jugando con concurrent.futures . Actualmente mis futuras llamadas time.sleep(secs) . Parece que Future.cancel () hace menos de lo que pensaba. Si el futuro ya se está ejecutando, entonces time.sleep() no se cancela. Lo mismo para el parámetro de tiempo de espera para wait () . No cancela mi time.sleep() . ¿Cómo cancelar time.sleep() que […]

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

Utilizando correctamente loop.create_future

Estaba leyendo la documentación de Python y el libro de PyMotW tratando de aprender Async / Await, Futures, and Tasks. Documentación de Coroutines y Tareas : Normalmente, no es necesario crear objetos futuros en el código de nivel de aplicación. A partir de la documentación futura se enuncia lo siguiente: loop.create_future () Cree un objeto […]

Detectar tareas fallidas en concurrent.futures

He estado utilizando concurrent.futures, ya que tiene una interfaz simple y permite al usuario controlar fácilmente el número máximo de subprocesos / procesos. Sin embargo, parece que concurrent.futures oculta las tareas fallidas y continúa el hilo principal después de que todas las tareas hayan finalizado o hayan fallado. import concurrent.futures def f(i): return (i + […]

Ejecución paralela de Python con selenium.

Estoy confundido acerca de la ejecución paralela en python usando selenium. Parece que hay algunas maneras de hacerlo, pero algunas parecen desactualizadas. Me pregunto cuál es la última forma de hacer una ejecución paralela utilizando selenium. Hay un módulo de python llamado python-wd-parallel que parece tener alguna funcionalidad para hacer esto, pero es de 2013, […]

¿Cómo envolver el futuro personalizado para usar con asyncio en Python?

Hay muchas bibliotecas que usan su versión personalizada de Future . kafka y s3transfer son solo dos ejemplos: todas sus clases personalizadas del futuro tienen un object como superclase. No es sorprendente que no pueda llamar directamente a asyncio.wrap_future() sobre dichos objetos y no puede usar await con ellos. ¿Cuál es la forma correcta de […]

¿Cómo puedo cancelar una tarea asíncrona colgada en un tornado, con un tiempo de espera?

Mi configuración es Python Tornado Server, que procesa tareas de forma asíncrona con un ThreadPoolExecutor . En algunas condiciones, la tarea puede convertirse en un bucle infinito. Con el decorador with_timeout , he logrado detectar la excepción de tiempo de espera y devolver un resultado de error al cliente. El problema es que la tarea […]

Cómo generar futuro solo si hay trabajadores libres disponibles

Estoy intentando enviar información extraída de las líneas de un archivo grande a un proceso que se ejecuta en algún servidor. Para acelerar esto, me gustaría hacer esto con algunos hilos en paralelo. Usando el backport Python 2.7 de concurrent.futures intenté esto: f = open(“big_file”) with ThreadPoolExecutor(max_workers=4) as e: for line in f: e.submit(send_line_function, line) […]

Función que multiprocesa otra función.

Estoy realizando análisis de series de tiempo de simulaciones. Básicamente, está haciendo las mismas tareas para cada paso de tiempo. Como hay un gran número de pasos de tiempo, y como el análisis de cada uno de ellos es independiente, quise crear una función que pueda multiprocesar otra función. Este último tendrá argumentos, y devolverá […]