Articles of asynchronous

¿Cómo agregar una coroutine a un asyncio loop en ejecución?

¿Cómo se puede agregar una nueva coroutine a un bucle asyncio en ejecución? Es decir. Una que ya está ejecutando un conjunto de coroutines. Supongo que, como solución alternativa, uno podría esperar a que se completen las coroutines existentes y luego inicializar un nuevo bucle (con la coroutine adicional). Pero hay una manera mejor?

Leer y procesar de forma asíncrona una imagen en python

Contexto A menudo me encontré en la siguiente situación: Tengo una lista de nombres de archivos de imágenes que necesito procesar Leo cada imagen secuencialmente, por ejemplo, scipy.misc.imread Luego hago algún tipo de procesamiento en cada imagen y devuelvo un resultado. Guardo el resultado a lo largo del nombre de archivo de la imagen en […]

usando gen.task con Tornado para una función simple

Solo bash usar las funciones asíncronas de Tornado: quiero invocar un método desde mi controlador, pero me sigue diciendo que “obtuvo un argumento de palabra clave inesperado ‘callback’”. class MyHandler(tornado.web.RequestHandler): @asynchronous @gen.engine def get(self): response = yield gen.Task(self.dosomething, ‘argument’) self.write(response) self.finish() def dosomething(self, myargument): pass

Python 3.5 async / await con ejemplo de código real

He leído montones de artículos y tutoriales sobre el tema 3.5 async / await de Python. Debo decir que estoy bastante confundido, porque algunos usan get_event_loop () y run_until_complete (), algunos usan asegurar_future (), algunos usan asyncio.wait (), y otros usan call_soon (). Parece que tengo muchas opciones, pero no tengo idea si son completamente […]

El asyncio de Python funciona sincrónicamente.

Estoy tratando de aprovechar la nueva biblioteca de asyncio de Python para enviar solicitudes HTTP asíncronas. Quiero esperar unos pocos milisegundos (la variable de timeout ) antes de enviar cada solicitud, pero, por supuesto, enviarlos todos de forma asíncrona y, no esperar una respuesta después de cada solicitud enviada. Estoy haciendo algo como lo siguiente: […]

¿Cómo habilitar las solicitudes en modo asíncrono?

para este código: import sys import gevent from gevent import monkey monkey.patch_all() import requests import urllib2 def worker(url, use_urllib2=False): if use_urllib2: content = urllib2.urlopen(url).read().lower() else: content = requests.get(url, prefetch=True).content.lower() title = content.split(”)[1].split(”)[0].strip() urls = [‘http://www.mail.ru’]*5 def by_requests(): jobs = [gevent.spawn(worker, url) for url in urls] gevent.joinall(jobs) def by_urllib2(): jobs = [gevent.spawn(worker, url, True) for url […]

PEP 0492 – Python 3.5 async keyword

PEP 0492 agrega la palabra clave async a Python 3.5. ¿Cómo se beneficia Python del uso de este operador? El ejemplo que se da para una coroutina es async def read_data(db): data = await db.fetch(‘SELECT …’) Según los documentos esto se consigue. suspende [ing] la ejecución de read_data coroutine hasta que db.fetch awaitable finalice y […]

Llamadas HTTP asíncronas en Python

Necesito un tipo de funcionalidad de callback en Python donde envío una solicitud a un servicio web varias veces, con un cambio en el parámetro cada vez. Quiero que estas solicitudes se realicen de forma concurrente en lugar de secuencial, por lo que quiero que la función se llame de forma asíncrona. Parece que lo […]

Obtención paralela de archivos

Para descargar archivos, estoy creando un objeto urlopen (clase urllib2) y lo estoy leyendo en trozos. Me gustaría conectarme al servidor varias veces y descargar el archivo en seis sesiones diferentes. Haciendo eso, la velocidad de descarga debería ser más rápida. Muchos gestores de descargas tienen esta característica. Pensé en especificar la parte del archivo […]

¿Qué biblioteca asíncrona de Python sería la más adecuada para mi código? ¿Asyncore? ¿Retorcido?

Tengo un progtwig en el que estoy trabajando, que se leerá de dos “fonts de red” simultáneamente. Quería probar un enfoque asíncrono en lugar de utilizar subprocesos. Esto me ha llevado a preguntarme qué biblioteca usar … He encontrado un código de ejemplo simple que demuestra lo que mi progtwig hará: import sniffer def first(): […]