Articles of asynchronous

Inicia la función asíncrona sin importar el paquete asyncio.

Es posible iniciar una función como esta. async def foo(): while True: print(“Hello!”) ¿Sin importar el paquete asyncio (y obtener el bucle de eventos)? Estoy buscando un principio similar a los goroutines de Go, donde se puede lanzar una coroutine con solo go . Edición: la razón por la que no estoy importando el paquete […]

Torcido: a la espera de que terminen las subtareas

En mi código, tengo dos tareas hipotéticas: una obtiene urls de un generador y las descarga por lotes utilizando el Cooperator de Twisted, y la otra toma una fuente descargada y la analiza de forma asíncrona. Estoy tratando de encapsular todas las tareas de búsqueda y análisis en un único objeto diferido que devuelve la […]

Iteradores perezosos (generadores) con asyncio

Tengo un código de locking, no asíncrono como este: def f(): def inner(): while True: yield read() return inner() Con este código, la persona que llama puede elegir cuándo detener la función para generar datos. ¿Cómo cambiar esto a async? Esta solución no funciona: async def f(): async def inner(): while True: yield await coroutine_read() […]

¿Cómo puedo agrupar conexiones usando psycopg y gevent?

El estado de los documentos de psycopg: “Las conexiones de Psycopg no son seguras para subprocesos verdes y no pueden ser utilizadas simultáneamente por diferentes subprocesos verdes. Intentar ejecutar más de un comando a la vez con un cursor por subproceso dará como resultado un error (o un interlocking en las versiones antes de 2.4.2). […]

Necesita ayuda para crear un relé TCP entre dos sockets

Tengo la siguiente situación: SomeServer(S) (C)MyApp(S) (C)User (S) represents a server socket (C) represents a client socket Esencialmente, MyApp inicia la comunicación con SomeServer ( SomeServer (S) (C) MyApp ) y una vez que algunas rutinas de autenticación son exitosas, MyApp (S) comienza a esperar a que ( C) el usuario se conecte. Tan pronto […]

¿Datos asíncronos a través de la nueva API de datos de Bloomberg (COM v3) con Python?

¿Alguien sabe cómo obtener datos asíncronos a través de la nueva API de datos de Bloomberg (COM v3) con Python? Encontré este código a continuación en wilmott.com y funciona bien, pero es para la versión anterior de la API. ¿Alguien sabe el código correspondiente para la nueva versión? from win32com.client import DispatchWithEvents from pythoncom import […]

`eventlet.spawn` no funciona como se esperaba

Estoy escribiendo una interfaz de usuario web para tareas de análisis de datos. Así es como se supone que funciona: Después de que un usuario especifique parámetros como el dataset y la learning rate , creo un nuevo task record , luego se inicia un ejecutor para esta tarea de forma asíncrona (el ejecutor puede […]

¿Cómo crear un generador asíncrono en Python?

Estoy tratando de reescribir este código Python2.7 al nuevo orden mundial asíncrono: def get_api_results(func, iterable): pool = multiprocessing.Pool(5) for res in pool.map(func, iterable): yield res map() bloquea hasta que se hayan calculado todos los resultados, por lo que estoy tratando de volver a escribir esto como una implementación asíncrona que dará resultados tan pronto como […]

Uso de Tornado con Pika para el monitoreo asíncrono de la cola

Tengo un servidor AMQP ( RabbitMQ ) del que me gustaría publicar y leer en un servidor web Tornado . Para hacer esto, pensé que usaría una biblioteca de python amqp asíncrona; en particular Pika (una variación de eso que supuestamente es compatible con Tornado). He escrito un código que parece leer con éxito desde […]

¿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?