Articles of asíncrono

Python Asynchronous Reverse DNS Lookups

Estoy buscando hacer una gran cantidad de búsquedas de DNS inversas en una pequeña cantidad de tiempo. Actualmente, he implementado una búsqueda asíncrona utilizando socket.gethostbyaddr y concurrent.futures, pero aún no veo el rendimiento deseado. Por ejemplo, el script tardó unos 22 minutos en completarse con 2500 direcciones IP. Me preguntaba si hay alguna forma más […]

¿Se puede implementar twisted en Java?

Recuerdo haber leído que las siguientes funciones llevan al desarrollo de marcos / bibliotecas interesantes en Python: – (Leí el artículo de http://www.python.org/workshops/2002-02/papers/09/index.htm ) Un modelo de clase simple, que facilita la herencia. Escritura dinámica, lo que significa que el código debe asumir menos. Gestión de memoria incorporada. Java está comstackdo estáticamente, y también tiene […]

Ejecutando código de locking en Tornado

Tengo una aplicación de tornado y quiero usar una biblioteca de locking para lograr algo. En los casos en los que no es posible volver a escribir la biblioteca de forma asíncrona, ¿cuál es la forma de ejecutarlo en un tornado? Por ejemplo, me gustaría poder poner un decorador @asynchronous en un controlador de solicitudes, […]

Probar si la función o el método es normal o asíncrono

¿Cómo puedo saber si una función o un método es una función normal o una función asíncrona? Me gustaría que mi código soporte automáticamente las devoluciones de llamadas normales o asíncronas y necesito una forma de probar qué tipo de función se pasa. async def exampleAsyncCb(): pass def exampleNomralCb(): pass def isAsync(someFunc): #do cool dynamic […]

¿Cómo puedo hash una contraseña en Tornado con un locking mínimo?

Estoy usando PBKDF2 , pero esto se aplica igualmente a BCrypt. Hashear una contraseña con un número razonable de iteraciones puede bloquearse fácilmente durante 0,5 segundos. ¿Cuál es una forma ligera de sacar esto del proceso? Me resisto a configurar algo como Celery o Gearman solo para esta operación.

¿Cómo leer y escribir desde subprocesos de forma asíncrona?

Me gustaría abrir varios subprocesos y leer / escribir desde su stdin / stdout cuando haya datos disponibles. Primer bash: import subprocess, select, fcntl, os p1 = subprocess.Popen(“some command”, stdout=subprocess.PIPE) p2 = subprocess.Popen(“another command”, stdout=subprocess.PIPE) def make_nonblocking(fd): flags = fcntl.fcntl(fd, fcntl.F_GETFL) fcntl.fcntl(fd, fcntl.F_SETFL, flags | os.O_NONBLOCK) make_nonblocking(p1.stdout) make_nonblocking(p2.stdout) size = 10000 while True: inputready, outputready, […]

Python – ¿Cómo puedo hacer que este código sea asíncrono?

Aquí hay un código que ilustra mi problema: def blocking1(): while True: yield ‘first blocking function example’ def blocking2(): while True: yield ‘second blocking function example’ for i in blocking1(): print ‘this will be shown’ for i in blocking2(): print ‘this will not be shown’ Tengo dos funciones que contienen while True bucles while True […]

Bloquear redis hasta que exista clave

Soy nuevo en Redis y me preguntaba si hay una manera de poder await get un valor por clave hasta que exista la clave. Código mínimo: async def handler(): data = await self._fetch(key) async def _fetch(key): return self.redis_connection.get(key) Como usted sabe, si tal key no existe, no return None . Pero como en mi proyecto, […]

¿Cómo combinar el apio con el asyncio?

¿Cómo puedo crear un contenedor que haga que las tareas de apio se vean como asyncio.Task ? ¿O hay una mejor manera de integrar Celery con asyncio ? @asksol, el creador de Celery, dijo esto : Es bastante común usar Celery como una capa distribuida en la parte superior de los marcos de E / […]

Enviando datos arbitrarios con Twisted

Un ejemplo de mi código es el siguiente. Me gustaría enviar datos de manera arbitraria en varios puntos del progtwig. Twisted parece genial para escuchar y luego reactjsr, pero cómo simplemente envío datos. from twisted.internet.protocol import DatagramProtocol from twisted.internet import reactor import os class listener(DatagramProtocol): def __init__(self): def datagramReceived(self, data, (host, port)): print “GOT ” […]