Re: [Python] [CGI]

2018-01-06 Per discussione Jacopo Cascioli
>
> Leggendo diversa documentazione, mi pareva di aver capito che posso
> usare direttamente uwsgi come server, ma vedo che invece tu hai optato
> per usare nginx + uwsgi. Pro e Contro sulle due diverse situazioni?


Sì, in effetti si può usare solo uwsgi e se non hai particolari necessità,
funziona. Ovviamente tutte le cose che normalmente configureresti in nginx
(caching, domini, riscrittura degli url, etc.) le perdi e non so quanto
uwsgi supporti queste opzioni o quanto facile possa essere configurarle con
uwsgi o in altri modi.

Jacopo

Il giorno 6 gennaio 2018 09:42, Raffaele Salmaso  ha
scritto:

> Ciao,
>
> 2017-12-27 17:35 GMT+01:00 Gollum1 :
>
>> Leggendo diversa documentazione, mi pareva di aver capito che posso
>> usare direttamente uwsgi come server, ma vedo che invece tu hai optato
>> per usare nginx + uwsgi. Pro e Contro sulle due diverse situazioni?
>>
> Non ne ho idea. È sulla lista delle cose da provare usare solo uwsgi come
> server,
> ma non so se è cmq utile/buona idea se non in casi specifici. Vedremo.
>
> Posso interpellarti, nel momento in cui fossi riuscito ad installare i
>> singoli pacchetti, per un aiuto sulla configurazione con i diversi
>> linguaggi? io ho necessità di fornire pagine statiche html, pagine
>> realizzate in php e in python (attualmente 2.7, ma in futuro spero di
>> riuscire a migrare a 3.x).
>>
> Non uso red hat, e sinceramente evito i lavori che mi impongono
> py2.6/py2.7 o non aggiornabili
> (qui è solo per l'interfaccia di mercurial, visto che la versione py3 non
> è ancora pronta).
>
> Nel caso specifico di uwsgi ho scaricato i sorgenti e ricompilo con questo
> script, dopo aver installato i pacchetti -dev necessari.
>
> #!/bin/sh
> python3.6 uwsgiconfig.py --build core
> python2.7 uwsgiconfig.py --plugin plugins/python core python27
> python3.4 uwsgiconfig.py --plugin plugins/python core python34
> #python3.5 uwsgiconfig.py --plugin plugins/python core python35
> python3.6 uwsgiconfig.py --plugin plugins/python core python36
> ./uwsgi --build-plugin "plugins/router_static"
> ./uwsgi --build-plugin "plugins/router_http"
> ./uwsgi --build-plugin "plugins/syslog"
> ./uwsgi --build-plugin "plugins/http"
> ./uwsgi --build-plugin "plugins/php"
> ./uwsgi --build-plugin "plugins/cgi"
>
> --
> | Raffaele Salmaso
> | https://salmaso.org
> | https://bitbucket.org/rsalmaso
> | https://github.com/rsalmaso
>
> ___
> Python mailing list
> Python@lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
>
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] [CGI]

2018-01-06 Per discussione Raffaele Salmaso
Ciao,

2017-12-27 17:35 GMT+01:00 Gollum1 :

> Leggendo diversa documentazione, mi pareva di aver capito che posso
> usare direttamente uwsgi come server, ma vedo che invece tu hai optato
> per usare nginx + uwsgi. Pro e Contro sulle due diverse situazioni?
>
Non ne ho idea. È sulla lista delle cose da provare usare solo uwsgi come
server,
ma non so se è cmq utile/buona idea se non in casi specifici. Vedremo.

Posso interpellarti, nel momento in cui fossi riuscito ad installare i
> singoli pacchetti, per un aiuto sulla configurazione con i diversi
> linguaggi? io ho necessità di fornire pagine statiche html, pagine
> realizzate in php e in python (attualmente 2.7, ma in futuro spero di
> riuscire a migrare a 3.x).
>
Non uso red hat, e sinceramente evito i lavori che mi impongono py2.6/py2.7
o non aggiornabili
(qui è solo per l'interfaccia di mercurial, visto che la versione py3 non è
ancora pronta).

Nel caso specifico di uwsgi ho scaricato i sorgenti e ricompilo con questo
script, dopo aver installato i pacchetti -dev necessari.

#!/bin/sh
python3.6 uwsgiconfig.py --build core
python2.7 uwsgiconfig.py --plugin plugins/python core python27
python3.4 uwsgiconfig.py --plugin plugins/python core python34
#python3.5 uwsgiconfig.py --plugin plugins/python core python35
python3.6 uwsgiconfig.py --plugin plugins/python core python36
./uwsgi --build-plugin "plugins/router_static"
./uwsgi --build-plugin "plugins/router_http"
./uwsgi --build-plugin "plugins/syslog"
./uwsgi --build-plugin "plugins/http"
./uwsgi --build-plugin "plugins/php"
./uwsgi --build-plugin "plugins/cgi"

-- 
| Raffaele Salmaso
| https://salmaso.org
| https://bitbucket.org/rsalmaso
| https://github.com/rsalmaso
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] [CGI]

2017-12-27 Per discussione Gollum1
Il 3 ottobre 2017 15:48, Raffaele Salmaso  ha scritto:
>
> Ho una macchina con nginx + uwsgi che serve py2.7 py3.4 py3.5 py3.6 e coso
> li, php
> Direi che non ho problemi di sorta.
>

Ciao, prima di tutto... buone feste...

Ho letto questa tua email, e siccome devo mettere un piedi una
situazione analoga, volevo avere qualche notizia in più.

Il server che ho a disposizione è RH (purtroppo, avrei preferito
Debian, ma questo mi hanno dato), non ho neppure il controllo completo
della macchina, per esempio, manca la possibilità di usare alcuni
repository standard di RH per installare i pacchetti (sembrerebbe, da
quello che ho letto, una sorta di estensione alla lista dei pacchetti
standard).

a quanto pare uwsgi, pip e nginx fanno parte di queste estensioni (non
li ho trovati nel repository standard a cui posso accedere).

credo che a questo punto mi troverò costretto a scaricare e installare
direttamente i sorgenti.

Leggendo diversa documentazione, mi pareva di aver capito che posso
usare direttamente uwsgi come server, ma vedo che invece tu hai optato
per usare nginx + uwsgi. Pro e Contro sulle due diverse situazioni?

Posso interpellarti, nel momento in cui fossi riuscito ad installare i
singoli pacchetti, per un aiuto sulla configurazione con i diversi
linguaggi? io ho necessità di fornire pagine statiche html, pagine
realizzate in php e in python (attualmente 2.7, ma in futuro spero di
riuscire a migrare a 3.x).

Grazie dell'attenzione.

Byez
-- 
Gollum1 - http://www.gollumone.it
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] [CGI]

2017-10-03 Per discussione Marzio A. Bonfanti
Non ai miei, grazie.

*Marzio A Bonfanti*



2017-10-03 18:11 GMT+02:00 Carlos Catucci :

>
>
> Il 03 ott 2017 3:49 PM, "Raffaele Salmaso"  ha
> scritto:
>
> 2017-10-03 14:28 GMT+02:00 Marzio A. Bonfanti :
>
>> e ho letto che ci potrebbero essere conflitti tra Django/PHP e PHP/WSGI
>>
> Ho una macchina con nginx + uwsgi che serve py2.7 py3.4 py3.5 py3.6 e coso
> li, php
> Direi che non ho problemi di sorta.
>
>
> "Coso li, php" andrebbe stampato, incorniciato e appeso davanti agli occhi
> di tutti i developers dell'universo.
>
> Carlos
>
>
> ___
> Python mailing list
> Python@lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
>
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] [CGI]

2017-10-03 Per discussione Walter Valenti
> Allaprima domanda rispondo un si ma con riserva (potrei stare dicendo
> una cavolata, lascio il responso finale agli esperti). Per la seconda
> io ti conglierei di guardare anche Genshi. Ha un approccio
> particolarmente interessante in quanto inserisce dentro i tag HTML le
> istruzioni python per gestire il template (esempio un ciclo per
> stampare le righe di una tabella):
> Dai anche una occhiata a Web2Py che e' leggero e completo (non ha un
> ORM ma un DAL)


Potresti usare un microframework tipo Flask

Walter
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] [CGI]

2017-10-03 Per discussione Carlos Catucci
Il 03 ott 2017 3:49 PM, "Raffaele Salmaso"  ha
scritto:

2017-10-03 14:28 GMT+02:00 Marzio A. Bonfanti :

> e ho letto che ci potrebbero essere conflitti tra Django/PHP e PHP/WSGI
>
Ho una macchina con nginx + uwsgi che serve py2.7 py3.4 py3.5 py3.6 e coso
li, php
Direi che non ho problemi di sorta.


"Coso li, php" andrebbe stampato, incorniciato e appeso davanti agli occhi
di tutti i developers dell'universo.

Carlos
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] [CGI]

2017-10-03 Per discussione Raffaele Salmaso
2017-10-03 14:38 GMT+02:00 Piergiorgio Pancino <
piergiorgio.panc...@gmail.com>:

> Allora docker!!!
>
Potrebbe essere come sparare ad una mosca con una testata nucleare.

-- 
| Raffaele Salmaso
| https://salmaso.org
| https://bitbucket.org/rsalmaso
| https://github.com/rsalmaso
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] [CGI]

2017-10-03 Per discussione Raffaele Salmaso
2017-10-03 14:28 GMT+02:00 Marzio A. Bonfanti :

> Ciao!
> Il punto non è che Django o WSGI siano pesanti, è che la macchina su cui
> lavoro è configurata per PHP (LAMP su openSuSE 42.1), e ho letto che ci
> potrebbero essere conflitti tra Django/PHP e PHP/WSGI...
>
Ho una macchina con nginx + uwsgi che serve py2.7 py3.4 py3.5 py3.6 e coso
li, php
Direi che non ho problemi di sorta.

-- 
| Raffaele Salmaso
| https://salmaso.org
| https://bitbucket.org/rsalmaso
| https://github.com/rsalmaso
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] [CGI]

2017-10-03 Per discussione Marzio A. Bonfanti
Ciao.
A occhio e croce è quello che cercavo, grazie!

*Marzio A Bonfanti*



On 3 October 2017 at 15:38, Carlo Miron  wrote:

> 2017-10-03 14:58 GMT+02:00 Marzio A. Bonfanti :
>
> > Hmmm... Non saprei. Sono già su una VM (di cui ho creato una "gemella" da
> > ottimizzare per Python, Django, Mezzanine, PostgreSQL..., ma in ufficio
> non
> > posso usarla ;) )
>
> Potresti valutare anche [Bottle]. Si tratta di un singolo file
> installation-less, funziona in [CGI] ed offre di serie un [semplice
> template system] ma supporta anche mako, jinja2 e cheetah.
>
> [Bottle]: 
> [CGI]: 
> [semplice template system]:
> 
>
> ㎝
>
> --
> |:**THE -WARE LICENSE** *(Revision ㊷)*:
> |  wrote this mail. As long as you retain this
> | notice you can do whatever you want with this stuff.
> | If we meet some day, and you think this stuff is worth it,
> | you can buy me a  in return. —㎝
> ___
> Python mailing list
> Python@lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] [CGI]

2017-10-03 Per discussione Carlo Miron
2017-10-03 14:58 GMT+02:00 Marzio A. Bonfanti :

> Hmmm... Non saprei. Sono già su una VM (di cui ho creato una "gemella" da
> ottimizzare per Python, Django, Mezzanine, PostgreSQL..., ma in ufficio non
> posso usarla ;) )

Potresti valutare anche [Bottle]. Si tratta di un singolo file
installation-less, funziona in [CGI] ed offre di serie un [semplice
template system] ma supporta anche mako, jinja2 e cheetah.

[Bottle]: 
[CGI]: 
[semplice template system]:


㎝

-- 
|:**THE -WARE LICENSE** *(Revision ㊷)*:
|  wrote this mail. As long as you retain this
| notice you can do whatever you want with this stuff.
| If we meet some day, and you think this stuff is worth it,
| you can buy me a  in return. —㎝
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] [CGI]

2017-10-03 Per discussione Marzio A. Bonfanti
Hmmm... Non saprei. Sono già su una VM (di cui ho creato una "gemella" da
ottimizzare per Python, Django, Mezzanine, PostgreSQL..., ma in ufficio non
posso usarla ;) )

*Marzio A Bonfanti*



2017-10-03 14:38 GMT+02:00 Piergiorgio Pancino <
piergiorgio.panc...@gmail.com>:

> Allora docker!!!
>
> Il 03 ott 2017 14:28, "Marzio A. Bonfanti"  ha
> scritto:
>
>> Ciao!
>> Il punto non è che Django o WSGI siano pesanti, è che la macchina su cui
>> lavoro è configurata per PHP (LAMP su openSuSE 42.1), e ho letto che ci
>> potrebbero essere conflitti tra Django/PHP e PHP/WSGI...
>>
>> *Marzio A Bonfanti*
>>
>> 
>>
>> 2017-10-03 14:15 GMT+02:00 Piergiorgio Pancino <
>> piergiorgio.panc...@gmail.com>:
>>
>>> Ma in base a cosa dici che è troppo pesante? Hai provato? Non credo che
>>> sia così pesante. Secondo me ti stai fasciando la testa prima di romperla.
>>>
>>> Il 03 ott 2017 11:20, "Carlos Catucci"  ha
>>> scritto:
>>>
 > E' possibile utilizzarli con i CGI (puri e semplici), senza un
 framework
 > "d'appoggio"? Quale dei due è il più "elastico" (ovvero quale dei due
 mi
 > permette di personalizzare meglio i template HTML5)?

 Allaprima domanda rispondo un si ma con riserva (potrei stare dicendo
 una cavolata, lascio il responso finale agli esperti). Per la seconda
 io ti conglierei di guardare anche Genshi. Ha un approccio
 particolarmente interessante in quanto inserisce dentro i tag HTML le
 istruzioni python per gestire il template (esempio un ciclo per
 stampare le righe di una tabella):
 Dai anche una occhiata a Web2Py che e' leggero e completo (non ha un
 ORM ma un DAL)

 Carlos
 --
 EZLN ... Para Todos Todo ... Nada para nosotros
 ___
 Python mailing list
 Python@lists.python.it
 https://lists.python.it/mailman/listinfo/python

>>>
>>> ___
>>> Python mailing list
>>> Python@lists.python.it
>>> https://lists.python.it/mailman/listinfo/python
>>>
>>>
>>
>> ___
>> Python mailing list
>> Python@lists.python.it
>> https://lists.python.it/mailman/listinfo/python
>>
>>
> ___
> Python mailing list
> Python@lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
>
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] [CGI]

2017-10-03 Per discussione Piergiorgio Pancino
Allora docker!!!

Il 03 ott 2017 14:28, "Marzio A. Bonfanti"  ha
scritto:

> Ciao!
> Il punto non è che Django o WSGI siano pesanti, è che la macchina su cui
> lavoro è configurata per PHP (LAMP su openSuSE 42.1), e ho letto che ci
> potrebbero essere conflitti tra Django/PHP e PHP/WSGI...
>
> *Marzio A Bonfanti*
>
> 
>
> 2017-10-03 14:15 GMT+02:00 Piergiorgio Pancino <
> piergiorgio.panc...@gmail.com>:
>
>> Ma in base a cosa dici che è troppo pesante? Hai provato? Non credo che
>> sia così pesante. Secondo me ti stai fasciando la testa prima di romperla.
>>
>> Il 03 ott 2017 11:20, "Carlos Catucci"  ha
>> scritto:
>>
>>> > E' possibile utilizzarli con i CGI (puri e semplici), senza un
>>> framework
>>> > "d'appoggio"? Quale dei due è il più "elastico" (ovvero quale dei due
>>> mi
>>> > permette di personalizzare meglio i template HTML5)?
>>>
>>> Allaprima domanda rispondo un si ma con riserva (potrei stare dicendo
>>> una cavolata, lascio il responso finale agli esperti). Per la seconda
>>> io ti conglierei di guardare anche Genshi. Ha un approccio
>>> particolarmente interessante in quanto inserisce dentro i tag HTML le
>>> istruzioni python per gestire il template (esempio un ciclo per
>>> stampare le righe di una tabella):
>>> Dai anche una occhiata a Web2Py che e' leggero e completo (non ha un
>>> ORM ma un DAL)
>>>
>>> Carlos
>>> --
>>> EZLN ... Para Todos Todo ... Nada para nosotros
>>> ___
>>> Python mailing list
>>> Python@lists.python.it
>>> https://lists.python.it/mailman/listinfo/python
>>>
>>
>> ___
>> Python mailing list
>> Python@lists.python.it
>> https://lists.python.it/mailman/listinfo/python
>>
>>
>
> ___
> Python mailing list
> Python@lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
>
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] [CGI]

2017-10-03 Per discussione Marzio A. Bonfanti
Ciao!
Il punto non è che Django o WSGI siano pesanti, è che la macchina su cui
lavoro è configurata per PHP (LAMP su openSuSE 42.1), e ho letto che ci
potrebbero essere conflitti tra Django/PHP e PHP/WSGI...

*Marzio A Bonfanti*



2017-10-03 14:15 GMT+02:00 Piergiorgio Pancino <
piergiorgio.panc...@gmail.com>:

> Ma in base a cosa dici che è troppo pesante? Hai provato? Non credo che
> sia così pesante. Secondo me ti stai fasciando la testa prima di romperla.
>
> Il 03 ott 2017 11:20, "Carlos Catucci"  ha
> scritto:
>
>> > E' possibile utilizzarli con i CGI (puri e semplici), senza un framework
>> > "d'appoggio"? Quale dei due è il più "elastico" (ovvero quale dei due mi
>> > permette di personalizzare meglio i template HTML5)?
>>
>> Allaprima domanda rispondo un si ma con riserva (potrei stare dicendo
>> una cavolata, lascio il responso finale agli esperti). Per la seconda
>> io ti conglierei di guardare anche Genshi. Ha un approccio
>> particolarmente interessante in quanto inserisce dentro i tag HTML le
>> istruzioni python per gestire il template (esempio un ciclo per
>> stampare le righe di una tabella):
>> Dai anche una occhiata a Web2Py che e' leggero e completo (non ha un
>> ORM ma un DAL)
>>
>> Carlos
>> --
>> EZLN ... Para Todos Todo ... Nada para nosotros
>> ___
>> Python mailing list
>> Python@lists.python.it
>> https://lists.python.it/mailman/listinfo/python
>>
>
> ___
> Python mailing list
> Python@lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
>
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] [CGI]

2017-10-03 Per discussione Piergiorgio Pancino
Ma in base a cosa dici che è troppo pesante? Hai provato? Non credo che sia
così pesante. Secondo me ti stai fasciando la testa prima di romperla.

Il 03 ott 2017 11:20, "Carlos Catucci"  ha
scritto:

> > E' possibile utilizzarli con i CGI (puri e semplici), senza un framework
> > "d'appoggio"? Quale dei due è il più "elastico" (ovvero quale dei due mi
> > permette di personalizzare meglio i template HTML5)?
>
> Allaprima domanda rispondo un si ma con riserva (potrei stare dicendo
> una cavolata, lascio il responso finale agli esperti). Per la seconda
> io ti conglierei di guardare anche Genshi. Ha un approccio
> particolarmente interessante in quanto inserisce dentro i tag HTML le
> istruzioni python per gestire il template (esempio un ciclo per
> stampare le righe di una tabella):
> Dai anche una occhiata a Web2Py che e' leggero e completo (non ha un
> ORM ma un DAL)
>
> Carlos
> --
> EZLN ... Para Todos Todo ... Nada para nosotros
> ___
> Python mailing list
> Python@lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] [CGI]

2017-10-03 Per discussione Carlos Catucci
> E' possibile utilizzarli con i CGI (puri e semplici), senza un framework
> "d'appoggio"? Quale dei due è il più "elastico" (ovvero quale dei due mi
> permette di personalizzare meglio i template HTML5)?

Allaprima domanda rispondo un si ma con riserva (potrei stare dicendo
una cavolata, lascio il responso finale agli esperti). Per la seconda
io ti conglierei di guardare anche Genshi. Ha un approccio
particolarmente interessante in quanto inserisce dentro i tag HTML le
istruzioni python per gestire il template (esempio un ciclo per
stampare le righe di una tabella):
Dai anche una occhiata a Web2Py che e' leggero e completo (non ha un
ORM ma un DAL)

Carlos
-- 
EZLN ... Para Todos Todo ... Nada para nosotros
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] cgi ottimizzati ERA: web: sync vs. async

2011-12-14 Per discussione Manlio Perillo
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Il 14/12/2011 08:34, Roberto De Ioris ha scritto:
 

 Il trucco è usare un socket UNIX domain bidirezionale, invece di due
 pipe.
 In questo modo per Nginx la comunicazione con il processo CGI dovrebbe
 essere analoga a quella con un client remoto.
 In particolare non dovrebbe mai essere necessario chiamare waitpid.


 
 Ma cosi' non mi ritrovo pieno di zombie ?

Agli zombie ci pensa il processo master che registra un handler per SIGCHLD:
src/os/unix/ngx_process.c

L'unico problema è che, se volessi implementare CGI in Nginx, mi
ritroverei con moltissimi messaggi di log NOTICE:
   unknow process pid exited with code code

 [...]


Ciao  Manlio
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk7onioACgkQscQJ24LbaUQiVwCeOLF4lUHQkJfz+ds7ziLvR0jg
zJsAoJCivVq7oykjlX9Zpqw/t8yIYfQZ
=rbsL
-END PGP SIGNATURE-
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] cgi ottimizzati ERA: web: sync vs. async

2011-12-13 Per discussione Manlio Perillo
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Il 13/12/2011 06:45, Roberto De Ioris ha scritto:
 


 Io stavo valutando un altra strada (nel caso in cui non serva un elevato
 grado di concorrenza): il buon vecchio CGI.
 Ovviamente non CGI normale, ma fare in modo che l'interprete Python sia
 embedato nel server (e pre-caricare in memoria quanto più possibile
 specialmente se read-only) e poi fare un fork + Python exec.

 Rispetto ad un CGI normale (fork + sys exec) mi aspetto un miglioramento
 significativo, anche grazie al copy-on-write.


 
 Ho trovato un po' di tempo per tentare questo approccio:
 
 http://projects.unbit.it/uwsgi/wiki/CGI#Example10:optimizingCGIs
 
 effettivamente il guadagno prestazionale c'e', e anche tanto.
 

Grazie per la conferma!

 [...]

 Il problema, e' che infilare i CGI in nginx (intendo senza passare per
 uWSGI) e' fuori discussione (almeno per linux) poiche' tutte le wait()
 sono bloccanti e anche usando WNOHANG sarebbe richiesto uno sforzo non
 indifferente al core di nginx (che dovrebbe chiamare waitpid() a
 intervalli regolari per vedere se qualcosa e' cambiato). Nei BSD sarebbe
 molto piu' facile, perche' kqueue() puo' rimanere in attesa di un processo
 oltre che di un file descriptor (bellissimo).
 

Il trucco è usare un socket UNIX domain bidirezionale, invece di due pipe.
In questo modo per Nginx la comunicazione con il processo CGI dovrebbe
essere analoga a quella con un client remoto.
In particolare non dovrebbe mai essere necessario chiamare waitpid.


Ciao  Manlio

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk7nu+8ACgkQscQJ24LbaURSQQCfXfDvuTer/IBRro1wsFE82qsO
FKUAniwhjPicHKRYss4TCdR8RbuWRPpU
=6awY
-END PGP SIGNATURE-
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] cgi ottimizzati ERA: web: sync vs. async

2011-12-13 Per discussione Roberto De Ioris


 Il trucco è usare un socket UNIX domain bidirezionale, invece di due
 pipe.
 In questo modo per Nginx la comunicazione con il processo CGI dovrebbe
 essere analoga a quella con un client remoto.
 In particolare non dovrebbe mai essere necessario chiamare waitpid.



Ma cosi' non mi ritrovo pieno di zombie ? Oppure intendi comunque chiamare
waitpid(-1...) a intervalli regolari per fare pulizia ? A rigor di logica
quando sei in attesa dello STDOUT del CGI se ricevi uno stream vuoto,
allora il processo dovrebbe aver finito il suo lavoro. Il problema e' se
qualche cgi cattivo chiama una close(1) nel suo codice. A quel punto la
chiamata a waitpid() sarebbe bloccante.

In realta' poi mi sono ricordato della nuova syscall signalfd (in linux)
che si potrebbe agganciare al SIGCHLD, quindi si potrebbe simulare il
comportamento di kqueue(). Probabilmente e' una strada percorribile, se
non fosse per il fatto che Igor e' da sempre allergico a chiamare fork()
(o clone()) in nginx, e quindi ho paura che una inclusione nel ramo
ufficiale potrebbe essere problematica.

-- 
Roberto De Ioris
http://unbit.it
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] cgi ottimizzati ERA: web: sync vs. async

2011-12-12 Per discussione Roberto De Ioris



 Io stavo valutando un altra strada (nel caso in cui non serva un elevato
 grado di concorrenza): il buon vecchio CGI.
 Ovviamente non CGI normale, ma fare in modo che l'interprete Python sia
 embedato nel server (e pre-caricare in memoria quanto più possibile
 specialmente se read-only) e poi fare un fork + Python exec.

 Rispetto ad un CGI normale (fork + sys exec) mi aspetto un miglioramento
 significativo, anche grazie al copy-on-write.



Ho trovato un po' di tempo per tentare questo approccio:

http://projects.unbit.it/uwsgi/wiki/CGI#Example10:optimizingCGIs

effettivamente il guadagno prestazionale c'e', e anche tanto.

Un Hello World su cgi classico su una macchina monoprocessore abbastanza
scarsa (tra l'altro virtualizzata con virtualbox) fa circa 15 richieste al
secondo. Usando la libreria c che c'e' nel link (scritta in 5 minuti, ma
che puo' essere sicuramente migliorata) ne fa 35 (!!!). E' piu' del
doppio, senza dover riscrivere una sola linea dei propri cgi. Io ad
esempio preferisco quasi sempre eseguire mercurial come cgi, questo
approccio mi sarebbe molto utile.

Il problema, e' che infilare i CGI in nginx (intendo senza passare per
uWSGI) e' fuori discussione (almeno per linux) poiche' tutte le wait()
sono bloccanti e anche usando WNOHANG sarebbe richiesto uno sforzo non
indifferente al core di nginx (che dovrebbe chiamare waitpid() a
intervalli regolari per vedere se qualcosa e' cambiato). Nei BSD sarebbe
molto piu' facile, perche' kqueue() puo' rimanere in attesa di un processo
oltre che di un file descriptor (bellissimo).

-- 
Roberto De Ioris
http://unbit.it
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] CGI e reload pagina

2008-09-30 Per discussione Carlo C8E Miron
On Tue, Sep 30, 2008 at 11:10, Cristian Re [EMAIL PROTECTED] wrote:
 Ciao a tutti,
 ho un dubbio e chiedo consiglio sulla soluzione migliore da adottare.
 Ipotizziamo che io abbia una cgi in python che richiamo sulla submit di una
 form passandogli i dati in POST.

 Ipotizziamo che la cgi effettui una insert in un db o qualsiasi altra
 operazione e restituisca all'utente il risultato dell'operazione.

 Ora l'utente se effettua il refresh della pagina la cgi rieffettua tutte le
 operazioni, nel'ipotesi fatta inserisce un nuovo ed identico record nel db.

 Qual'è secondo voi il metodo migliore per evitare che ciò accada?

 Grazie

Post/Redirect/Get:
http://en.wikipedia.org/wiki/Post/Redirect/Get

(c)
-- 
Carlo C8E Miron
Post Redirect Get Solution Architect™

http://www.linkedin.com/in/carlomiron
http://pycon.it/ http://stacktrace.it/ http://pydinner.org/
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] cgi

2007-02-03 Per discussione Lawrence Oluyede

On 2/4/07, Salvatore MONACO [EMAIL PROTECTED] wrote:

Ciao a tutti
come faccio a testare se apache del mio hosting supporta python nel CGI
c'e' uno script stile phpinfo da tirare su mettere nel cgi e testare se
tutto funziona


Hai 2 alternative

1 - fai uno script minimale e lo provi
2 - chiedi agli amministratori se lo supportano :D


--
Lawrence, oluyede.org - neropercaso.it
It is difficult to get a man to understand
something when his salary depends on not
understanding it - Upton Sinclair
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python