Skip to content

Latest commit

 

History

History
98 lines (69 loc) · 2.52 KB

README.rst

File metadata and controls

98 lines (69 loc) · 2.52 KB

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 zc.wsgirunner, so if you want to use ZConfig to configure logging, you need to install it separately.