Applications¶
-
class
uwsgiconf.options.applications.
Applications
(*args, **kwargs)¶ Applications.
-
set_basic_params
(*, exit_if_none: bool = None, max_per_worker: int = None, single_interpreter: bool = None, no_default: bool = None, manage_script_name: bool = None)¶ Parameters: - exit_if_none – Exit if no app can be loaded.
- max_per_worker – Set the maximum number of per-worker applications.
- single_interpreter – 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 – 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 – 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: str, app: str, *, into_worker: bool = 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 –
URL part, or variable value.
Note
In case of URL part you may also want to set
manage_script_name
basic param toTrue
.Warning
In case of URL part a trailing slash may case problems in some cases (e.g. with Django based projects).
- app – App module/file.
- into_worker – Load application under mountpoint in the specified worker or after workers spawn.
-
switch_into_lazy_mode
(*, affect_master: bool = 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 inworkers
basic params for lazy apps reloading.Parameters: affect_master – 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.
-