[Python] Oggetti condivisi in app uwsgi e multiprocessing in generale
Giovanni Porcari
giovanni.porcari a softwell.it
Sab 7 Feb 2015 20:26:50 CET
> Il giorno 07/feb/2015, alle ore 12:32, Guido Dassori <flandero a gmail.com> ha scritto:
>
> Ciao,
> utilizzando "python puro", quindi senza nessun framework alle spalle, ma con l'esposizione di semplici funzioni tramite l'uso di mod_uwsgi di nginx, uwsgi, e il catch dell'url, tipo:
>
> def application(env, start_response):
> if env['HTTP_HOST'].find("hello_world") > -1: hello_world(env, start_response)
>
> c'è un modo noto, e magari anche semplice semplice, per tenere degli oggetti condivisi fra le varie istanze lanciate da uwsgi?
Non so se ti può servire ma io ho usato prima memcached poi ho preferito
scrivere un gestore di oggetti condivisi usando Pyro4 (https://pythonhosted.org/Pyro4/)
in modalità asincrona.
La differenza rispetto a memcached è che puoi infilare più logica nel processo condiviso.
Ciao
G
> Ad esempio come farei con web.ctx in web.py?
>
> Ho girato intorno al problema creando un proxy Twisted fra le API esposte e il database, cachando così il result delle query più frequenti in memoria, e bypassando il DB a certe condizioni, però a questo punto converrebbe direttamente riscrivere tutto con Twisted (o web.py), e abbandonare l'approccio "no-framework" usato fino ad ora, piuttosto che scrivere tutti i proxy necessari e trovarmi a mantenere due programmi invece che uno.
>
> Cercando, ho trovato Posh, ma nonostante sia un progetto vecchio di 10 anni, non ho trovato feedback d'uso da parte di altri programmatori, inoltre sembra non solo essere, appunto, vecchio di 10 anni, ma anche non mantenuto, da 10 anni :-)
>
> Altre idee, o feedback su Posh ?
>
> Guido D.
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
Maggiori informazioni sulla lista
Python