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...

Respuestas a la pregunta(2)

Su respuesta a la pregunta