Contents
A script, run-wsgi
is provided that runs WSGI applications defined
in Paste Deployment configuration
files. For example, given a configuration file, paste.ini
:
[app:main] use = egg:bobo bobo_resources = myapp [pipeline:debug] pipeline = debug reload main [filter:reload] use = egg:bobo#reload modules = zc.wsgirunner.tests [filter:debug] use = egg:bobo#debug [server:main] use = egg:waitress host = localhost port = 8080 [configure:main] use = call:myapp:config key = 42 [logging:main] log = INFO
We can run the applicaton with [1]:
run-wsgi paste.ini
If we want to run the debug pipeline:
run-wsgi -a debug paste.ini
You can cause environment variables to be interpolated into your
configuration by passing an -e
option, and by including references
of the form ${NAME}
.
zc.wsgirunner
extends the Paste Deploy vocabulary of sections with
logging
and configuration
sections.
As with the other sections, you can have multiple sections and select which one you want with command-line options.
Logging sections come in 2 flavors, ZConfig, and basic. If a logging
section has a config
option, its value is passed ZConfig's [2] configureLoggers
method. Otherwise, the options in the logging section are passed to
logging.basicConfig
.
Configuration sections identify a configuration function with a
use
option, as with other Paste Deploy sections. The
configuration object is called with global defaults and with options
from the configuration section.
- Added support for envirnment-variable interpolation.
Initial release
[1] | You should use a tool like ZDaemon
or supervisord with run-wsgi in production.
run-wsgi doesn't daemonize itself. |
[2] | ZConfig provides the easiest way to create non-trivial logger configurations. Note, however, that ZConfig isn't a dependency of
|