Deseo leer varios archivos de registro a medida que se escriben y procesar su entrada con asyncio. El código deberá ejecutarse en windows. Por lo que entiendo de la búsqueda tanto en stackoverflow como en la web, la E / S asíncrona de archivos es complicada en la mayoría de los sistemas operativos (la select […]
Estoy desarrollando el framework de chat de Python con asyncio . Pero veo el PEP-492 y hay una nueva syntax, async / await y finalmente se acepta. Me gusta la syntax async / await y quiero usarla. Pero me preocupa la compatibilidad con las contraseñas 3.4. Si uso nueva syntax en mi código, alguien puede […]
En JavaScript asíncrono, es fácil ejecutar tareas en paralelo y esperar a que todas se completen utilizando Promise.all : async function bar(i) { console.log(‘started’, i); await delay(1000); console.log(‘finished’, i); } async function foo() { await Promise.all([bar(1), bar(2)]); } // This works too: async function my_all(promises) { for (let p of promises) await p; } async […]
Estoy un poco confundido por algunas funciones asyncio . Veo que hay una función BaseEventLoop.create_task(coro) para progtwigr una co-rutina. La documentación para create_task dice que es una nueva función y, por compatibilidad, deberíamos usar asyncio.async(coro) que al referirme a los documentos nuevamente que veo es un alias para asyncio.ensure_future(coro) que nuevamente progtwig la ejecución de […]
Estoy en el proceso de mover algún código síncrono a asyncio usando aiohttp. El código síncrono tardó 15 minutos en ejecutarse, así que espero mejorar esto. Tengo un código de trabajo que obtiene datos de algunas direcciones URL y devuelve el cuerpo de cada uno. Pero esto es solo contra 1 sitio de laboratorio, tengo […]
La forma recomendada de usar asyncio para un servidor de socket es: import asyncio async def handle_client(reader, writer): request = (await reader.read(100)).decode() response = “Data received.” writer.write(response.encode()) async def main(): loop.create_task(asyncio.start_server(handle_client, ‘localhost’, 15555)) loop = asyncio.get_event_loop() loop.create_task(main()) loop.run_forever() Esto funciona bien, pero ahora necesito recibir una solicitud de cliente adecuada y luego usar la biblioteca […]
He jugado un poco con subprocesos antes en Python, pero decidí asyncio módulo asyncio , especialmente porque puedes cancelar una tarea en ejecución, lo que me pareció un buen detalle. Sin embargo, por alguna razón, no puedo rodearlo con la cabeza. Esto es lo que quería implementar (perdón si estoy usando una terminología incorrecta): un […]
Estoy escribiendo un progtwig de python que se usa para enumerar el nombre de dominio de un sitio. Por ejemplo, ‘a.google.com’. Primero, usé el módulo de threading para hacer esto: import string import time import socket import threading from threading import Thread from queue import Queue ”’ enumerate a site’s domain name like this: 1-9 […]
Estoy tratando de escribir un juego en red con Pygame y asyncio, pero no puedo averiguar cómo evitar colgar en las lecturas. Aquí está mi código para el cliente: @asyncio.coroutine def handle_client(): print(“Connected!”) reader, writer = yield from asyncio.open_connection(‘localhost’, 8000) while True: mouse_up = False for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() […]
Este ejemplo de servidor aiohttp en un subproceso falla con un RuntimeError: There is no current event loop in thread ‘Thread-1′. error: import threading from aiohttp import web def aiohttp_server(): def say_hello(request): return web.Response(text=’Hello, world’) app = web.Application(debug=True) app.add_routes([web.get(‘/’, say_hello)]) web.run_app(app) t = threading.Thread(target=aiohttp_server) t.start() ¿Cómo ejecutar un servidor aiohttp en hilo?