[MontelLUG] Guida decente per coroutine/asyncio di Python 3

Samuele samuele.zanin a tiscali.it
Sab 8 Set 2018 20:17:57 CEST


Tutto quello che trovo sono esempi stringati e "reference manual" sulle 
coroutine di Python 3.
Avrei bisogno di una guida un po' più organica.

Mi trovo in una applicazione a voler usare sia tornado che la 
connessione al database con asyncpg in modo asincrono.

Negli esempi trovo per tornado:

                 tornado.ioloop.IOLoop.instance().start()

per asyncpg
                 asyncio.get_event_loop().run_until_complete(Main())

dove dentro main si inizializza la connessione e si fanno le query.

Non riesco a capire come fare quando ho bisogno di entrambe nello stesso 
programma.
Se faccio una cosa tipo:

InizializzaDB()
tornado.ioloop.IOLoop.instance().start()

dove dentro InizializzaDB creo un oggetto globale con la connessione al 
database, questo non viene visto di metodi async usati da tornado, 
mentre viene visto da quelli sincroni.

Non ci sto più a capire una fava.


Maggiori informazioni sulla lista montellug