[Python] Non blocking http server e integrazione con database relazionali

Roberto De Ioris roberto a unbit.it
Dom 16 Mar 2014 05:46:32 CET


> On 2014-03-15 18:08, Roberto De Ioris wrote:
>
>> Oggi ho buttato giu' questo:
>>
>>
>> http://uwsgi-docs.readthedocs.org/en/latest/articles/OffloadingWebsocketsAndSSE.html
>
> Grazie, me lo rileggo domani con un tasso di sangue nell'alcol pių
> alto. Ma, domanda veloce:
>
> """
> This is the whole point of this article: do not use the Django ORM in
> your gevent apps
> unless you know what you are doing !!! (read, you have a django
> database adapter that
> supports gevent and does not sucks compared to the standard ones...)
> """
>
> Con questo dici:
>
> 1. impossibile usare django+gevent+psycopg2 in maniera realmente non
> blocking
> 2. gevent+psycopg2 funzionerebbe se avesse un wrapper django
> diverso/migliore
> 3. django+gevent+psycopg2 funzionano, altri driver/database no
> 4. vai a letto piro, non c'hai capito niente ed č tardi
>
> Grazie ancora :)
>
>

Nessuna di queste :) ci sono adapter che "hanno funzionato" (notare il
passato), altri che funzionano il 90% delle volte e cosi' via. Il mio
obiettivo e' insinuare il dubbio, perche' se usi queste tecnologie devi
porti delle domande, e non solo sui db, su ogni punto della tua
applicazione.

Mi rendo conto che non e' un approccio molto tecnico, ma francamente
sentirmi dire "che cazzo dici !!! ho letto sul blog di topogigio che si
puo' fare e senza sforzo", beh un pochino mi rode...

Ad esempio la funzione di entropia di openssl e' ultra-bloccante, e guarda
un po' l'ho vista usata in un app django-gevent...

(comunque, questo, basato su psycogreen, funziona molto bene:
https://github.com/jneight/django-db-geventpool)

Dei tutorial (quelli diciamo piu' famosi), che ci sono su django + gevent,
solo uno riporta psycogreen, gli altri glissano o consigliano di usare
adapter pure-python (che sono spesso lontani dall'essere full-featured)



-- 
Roberto De Ioris
http://unbit.it


Maggiori informazioni sulla lista Python