Applications

class uwsgiconf.options.applications.Applications(*args, **kwargs)

Applications.

set_basic_params(exit_if_none=None, max_per_worker=None, single_interpreter=None, no_default=None, manage_script_name=None)
Parameters:
  • exit_if_none (bool) – Exit if no app can be loaded.
  • max_per_worker (int) – Set the maximum number of per-worker applications.
  • single_interpreter (bool) – Do not use multiple interpreters (where available). Some of the supported languages (such as Python) have the concept of “multiple interpreters”. By default every app is loaded in a new python interpreter (that means a pretty-well isolated namespace for each app). If you want all of the app to be loaded in the same python vm, use the this option.
  • no_default (bool) – Do not automatically fallback to default app. By default, the first loaded app is mounted as the “default one”. That app will be served when no mountpoint matches.
  • manage_script_name (bool) – You can to instruct uWSGI to map specific apps in the so called “mountpoint” and rewrite SCRIPT_NAME and PATH_INFO automatically. See .mount(). The WSGI standard dictates that SCRIPT_NAME is the variable used to select a specific application.
mount(mountpoint, app, into_worker=False)

Load application under mountpoint.

Example:
  • .mount(‘’, ‘app0.py’) – Root URL part
  • .mount(‘/app1’, ‘app1.py’) – URL part
  • .mount(‘/pinax/here’, ‘/var/www/pinax/deploy/pinax.wsgi’)
  • .mount(‘the_app3’, ‘app3.py’) – Variable value: application alias (can be set by UWSGI_APPID)
  • .mount(‘example.com’, ‘app2.py’) – Variable value: Hostname (variable set in nginx)
Parameters:
  • mountpoint (str|unicode) –

    URL part, or variable value.

    Note

    In case of URL part you may also want to set manage_script_name basic param to True.

    Warning

    In case of URL part a trailing slash may case problems in some cases (e.g. with Django based projects).

  • app (str|unicode) – App module/file.
  • into_worker (bool) – Load application under mountpoint in the specified worker or after workers spawn.
switch_into_lazy_mode(affect_master=None)

Load apps in workers instead of master.

This option may have memory usage implications as Copy-on-Write semantics can not be used.

Note

Consider using touch_chain_reload option in workers basic params for lazy apps reloading.

Parameters:affect_master (bool) –

If True only workers will be reloaded by uWSGI’s reload signals; the master will remain alive.

Warning

uWSGI configuration changes are not picked up on reload by the master.