understanding asyncio läuft schon für immer loop und anstehende aufgaben

Ich habe Probleme zu verstehen, wie ich eine neue Aufgabe an eine bereits laufende Ereignisschleife anhängen kann.

Dieser Code:

import asyncio
import logging

@asyncio.coroutine
def blocking(cmd):
    while True:
        logging.info("in blocking coroutine")
        yield from asyncio.sleep(0.01)
        print("ping")

def main():
    logging.info("in main funciton")
    loop = asyncio.get_event_loop()
    logging.info("new loop created")
    logging.info("loop running forever")
    loop.run_forever()
    asyncio.async(blocking("ls"))

logging.basicConfig(level = logging.INFO)
main()

Ändernrun_forever() zurun_until_complete(asyncio.async(blocking("ls")) funktioniert gut. Aber ich bin wirklich verwirrt - warum kann ich eine Aufgabe nicht an die bereits laufende Schleife anhängen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage