Programar una corsina asincio desde otro hilo
Intento programar una rutina de asincio de otro hilo usandocreate_task()
. El problema es que no se llama a la rutina, al menos no en un tiempo razonable.
¿Hay alguna forma de despertar el ciclo de eventos o al menos especificar un tiempo de espera más corto?
#!/usr/bin/python3
import asyncio, threading
event_loop = None
@asyncio.coroutine
def coroutine():
print("coroutine called")
def scheduler():
print("scheduling...")
event_loop.create_task(coroutine())
threading.Timer(2, scheduler).start()
def main():
global event_loop
threading.Timer(2, scheduler).start()
event_loop = asyncio.new_event_loop()
asyncio.set_event_loop(event_loop)
event_loop.run_forever()
main()
Salida:
scheduling...
scheduling...
scheduling...
scheduling...