

![]() | Start a set with this search |
![]() | Include this search in one of my sets |
![]() | Exclude this search from one of my sets |
![]() | Permalink to these results Paste this link in email or IM: |
| Atom feed for tracking future search results Paste this URL into your reader: |
28 messages in ru.sysoev.nginxRe: [wsgi] Python interpreter initial...| From | Sent On | Attachments |
|---|---|---|
| Manlio Perillo | Aug 20, 2007 3:15 am | |
| Igor Sysoev | Aug 20, 2007 3:28 am | |
| Igor Sysoev | Aug 20, 2007 3:41 am | |
| Igor Sysoev | Aug 20, 2007 3:45 am | |
| Manlio Perillo | Aug 20, 2007 3:50 am | |
| Manlio Perillo | Aug 20, 2007 3:57 am | |
| Igor Sysoev | Aug 20, 2007 6:17 am | |
| Manlio Perillo | Aug 20, 2007 6:35 am | |
| Manlio Perillo | Aug 20, 2007 1:16 pm | |
| Rui Lopes | Aug 20, 2007 1:35 pm | |
| Aleksandar Lazic | Aug 20, 2007 1:52 pm | |
| Manlio Perillo | Aug 20, 2007 1:55 pm | |
| Cliff Wells | Aug 20, 2007 4:22 pm | |
| Manlio Perillo | Aug 21, 2007 12:17 am | |
| Manlio Perillo | Aug 21, 2007 12:19 am | |
| Aleksandar Lazic | Aug 21, 2007 12:56 am | |
| Aleksandar Lazic | Aug 21, 2007 12:58 am | |
| Aleksandar Lazic | Aug 21, 2007 1:00 am | |
| Manlio Perillo | Aug 21, 2007 1:04 am | |
| Manlio Perillo | Aug 21, 2007 4:51 am | |
| Aleksandar Lazic | Aug 21, 2007 6:26 am | |
| marc...@public.gmane.org | Aug 21, 2007 6:26 am | |
| Aleksandar Lazic | Aug 21, 2007 6:34 am | |
| Manlio Perillo | Aug 21, 2007 6:35 am | |
| Kiril Angov | Aug 21, 2007 6:59 am | |
| Manlio Perillo | Aug 21, 2007 7:09 am | |
| Aleksandar Lazic | Aug 21, 2007 7:17 am | |
| Cliff Wells | Aug 21, 2007 11:01 am |

![]() | Permalink for this message Paste this link in email or IM: |
![]() | Permalink for this thread Paste this link in email or IM: |
| Atom feed for this thread Paste this URL into your reader: |
| Subject: | Re: [wsgi] Python interpreter initialization | Actions... |
|---|---|---|
| From: | Igor Sysoev (is-G...@public.gmane.org) | |
| Date: | Aug 20, 2007 6:17:49 am | |
| List: | ru.sysoev.nginx | |
On Mon, Aug 20, 2007 at 12:51:04PM +0200, Manlio Perillo wrote:
Igor Sysoev ha scritto:
On Mon, Aug 20, 2007 at 12:15:26PM +0200, Manlio Perillo wrote:
I need some help for the development of mod_wsgi.
Before using the Python C API for embedding Python code, the main interpreter must be initialized by calling Py_Initialize();
This function set a global context.
By the way, python is the most unsuitable language to embed in nginx - it has the single interpreter. That means that you could not safely reconfigure nginx. Even perl (unsuitable too) allows several interpreters.
Python *has* subinterpreters... (see the Apache mod_wsgi implementation as an example).
Yes, I have seen.
I'm using only the main interpreter because I want to keep the code as simple as possible.
As I have written, my design goal is not to write a general module like mod_perl (or Apache mod_wsgi), but to just use nginx to have a HTTP server for serving WSGI applications (with mod_perl you can set nginx variables, too).
I'm using nginx since it is much simpler to write a module (it is simpler than writing Apache modules!) than a full HTTP server from scratch).
However I'm interested in the reconfiguration problem. Can you give me more details?
While reconfiguration in perl module nginx creates new interpreter and evalutes all code in its. If configuration will fail, then nginx continues to run with old interpreter. If new configureation is right, then old interpreter is destroyed.
This is not a really big problem, since the *right way* to deploy mod_wsgi is to use another nginx proxy server behind the nginx server with mod_wsgi; so I can just restart the server (and the proxy can limit the number of request to the wsgi nginx server).
By the way, I'm also planning to release a stripped down version of nginx, to be used as a stand alone server to serve WSGI applications and with command line support for the most used options (I can write a wrapper in Python that write a temporary configuration file).
I still do not understand WSGI protocol. Is there graphic presentation of this protocol ?
-- Igor Sysoev http://sysoev.ru/en/







