Titus Brown ha scritto: > On Sun, Nov 18, 2007 at 09:03:23PM +0100, Manlio Perillo wrote: > -> Titus Brown ha scritto: > -> > -> > -> > -> However I still consider remarkable that there is not a "trac.wsgi" > script. > -> > -> Can this be caused by the lack of a standardized deployment of WSGI > -> > -> applications? > -> > > -> > What would a trac.wsgi script contain? > -> > -> import trac.web.main > -> > -> application = trac.web.main.dispatch_request > > So this is something that can be 'execfile'd, I guess... >
No. It provides an application callable that the WSGI gateway/server can execute. > -> > WSGI is a programming interface, > -> > not a script interface like CGI. > -> > -> Right, but a WSGI server/gateway just needs a simple script to execute > -> the WSGI application. > > That might be useful for some WSGI deployment techniques and less useful > for others. For example, if you're using an SCGI-based WSGI server, you > need a command-line executable; This is not fully correct. The sample script I have posted can be used by a SCGI-based WSGI server too. I think that the "deployment" must be done by the WSGI gateway/server and not by the application. That is, the "application" should only expose the callable object, and should not "start a server", opening logging and configuration files, or stacking middlewares. > for mod_python, you probably need an > importable module with a function; for CGI, you need a CGI script; etc. > So I think you're talking about something that is very specific to your > own deployment technique. This is out of the scope of the WSGI > proposal, for good reasons -- there are many ways of configuring and > deploying WSGI apps and I don't know that we've settled on only one way. > Right. But in the WSGI spec there is a propose to standardize a deployment method. As an example, WSGI says nothing about what happens when an application module is imported (and the Python application process is created). It can be useful if the gateway can execute an init_application(enviroment) function, where environment contains the same objects of the request enviroment, excluding the HTTP headers and the input object, and with a separate errors object. Logging is another thing that should be clarified. How should an application do logging? As an example for a WSGI gateway embedded in an existing server (like Apache and Nginx) it can be useful and convenient to keep logging in an unique log file. And if the server logging system uses "log levels", this should be usable by the WSGI application. The same is valid for application configuration. > Paste is an effort to standardize d eployment of WSGI applications, I > think. > Regards Manlio Perillo _______________________________________________ Web-SIG mailing list Web-SIG@python.org Web SIG: http://www.python.org/sigs/web-sig Unsubscribe: http://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com