[Python] Connessioni asincrone verso i database

Manlio Perillo manlio_perillo a libero.it
Gio 21 Gen 2010 23:12:07 CET


Alessandro Agosto ha scritto:
> Sera a tutti.
> Mi chiedevo se esiste qualche interfaccia python verso le ultime
> versioni di odbc. 

Non saprei.

> Il punto più interessante è che queste -stando alla
> doc- offrono la possibilità di eseguire operazioni asincrone.

Qualcosa di simile è offerto anche dalla libpq di PostgreSQL:
http://www.postgresql.org/docs/8.4/static/libpq-async.html

psycopg2 (uno delle implementazioni DBAPI2 più utilizzate per
PostgreSQL) ha cercato di implementarne il supporto, ma l'autore ci ha
rinunciato.

> Altrimenti, se ho scritto una app in python che non è basata su twisted
> ma volessi usare una delle sue interfacce asincrone per la connessione
> ai db avrei qualche problema? 

Probabilmente si.

> cioè sono pensate solo per app scritte su
> twisted o si possono usare anche in altri casi?

No, non dipendono da Twisted.
Una interfaccia asincrona ti permette di non bloccare un intero thread
mentre stai aspettando i dati dal database.

Per fare questo hai bisogno di un qualche sistema che ti dica quando un
socket è pronto per essere letto.

Twisted ti offre questo sistema, e molto altro in un ambiente ben integrato.

Ma puoi farne a meno, ma riscrivere quello che Twisted offre già non è
banale, a meno di non avere una applicazione semplice.

> PS. se avete qualche altra soluzione proponete pure :)
> 

La programmazione asincrona non è banale, e non si integra bene con il
resto del mondo che è sincrono.


Ciao  Manlio


Maggiori informazioni sulla lista Python