Reference
Reference: runtime type python
tenants[].applications[].routes[].runtime<python>.app
| Syntax | app: <string> |
| Default | none |
| Context | tenants[].applications[].routes[].runtime (type: python) |
| Reload | applies on reload |
module:callable, e.g. app:app or mysite.wsgi:application.
tenants[].applications[].routes[].runtime<python>.command
| Syntax | command: [<string>, ...] |
| Default | [] |
| Context | tenants[].applications[].routes[].runtime (type: python) |
| Reload | applies on reload |
Explicit argv. Bind arguments are appended for uvicorn/hypercorn/gunicorn unless the argv already contains {socket} or {port}.
tenants[].applications[].routes[].runtime<python>.env
| Syntax | env: {<key>: <string>, ...} |
| Default | empty |
| Context | tenants[].applications[].routes[].runtime (type: python) |
| Reload | applies on reload |
Environment variables for the processes.
tenants[].applications[].routes[].runtime<python>.health_path
| Syntax | health_path: <string> |
| Default | none |
| Context | tenants[].applications[].routes[].runtime (type: python) |
| Reload | applies on reload |
Path requested to decide that a worker is ready and healthy.
tenants[].applications[].routes[].runtime<python>.listen
| Syntax | listen: unix | tcp |
| Default | unix |
| Context | tenants[].applications[].routes[].runtime (type: python) |
| Reload | applies on reload |
unix: a socket under runtime_dir; tcp: a free loopback port.
tenants[].applications[].routes[].runtime<python>.mode
| Syntax | mode: asgi | wsgi |
| Default | required |
| Context | tenants[].applications[].routes[].runtime (type: python) |
| Reload | applies on reload |
asgi (uvicorn) or wsgi (gunicorn).
tenants[].applications[].routes[].runtime<python>.process_pool
| Syntax | process_pool: true | false |
| Default | false |
| Context | tenants[].applications[].routes[].runtime (type: python) |
| Reload | applies on reload |
scalws runs workers.min..max single-worker server processes itself instead of one server with --workers, so the pool can be scaled and restarted live (ADR-0014). Trades the server’s copy-on-write sharing for scaling.
tenants[].applications[].routes[].runtime<python>.response_timeout
| Syntax | response_timeout: <duration> (e.g. 30s) |
| Default | 60s |
| Context | tenants[].applications[].routes[].runtime (type: python) |
| Reload | applies on reload |
Time to wait for the response headers of the application.
tenants[].applications[].routes[].runtime<python>.server
| Syntax | server: uvicorn | hypercorn | gunicorn |
| Default | none |
| Context | tenants[].applications[].routes[].runtime (type: python) |
| Reload | applies on reload |
Default: uvicorn for ASGI, gunicorn for WSGI.
tenants[].applications[].routes[].runtime<python>.startup_timeout
| Syntax | startup_timeout: <duration> (e.g. 30s) |
| Default | 30s |
| Context | tenants[].applications[].routes[].runtime (type: python) |
| Reload | applies on reload |
Time the processes get to become ready.
tenants[].applications[].routes[].runtime<python>.stop_timeout
| Syntax | stop_timeout: <duration> (e.g. 30s) |
| Default | 10s |
| Context | tenants[].applications[].routes[].runtime (type: python) |
| Reload | applies on reload |
Time the processes get to exit after SIGTERM before they are killed.
tenants[].applications[].routes[].runtime<python>.upstream
| Syntax | upstream: <string> |
| Default | none |
| Context | tenants[].applications[].routes[].runtime (type: python) |
| Reload | applies on reload |
Proxy to a Python server managed elsewhere instead of starting one.
tenants[].applications[].routes[].runtime<python>.virtualenv
| Syntax | virtualenv: <string> |
| Default | none |
| Context | tenants[].applications[].routes[].runtime (type: python) |
| Reload | applies on reload |
Virtual environment whose server binary and packages are used.
tenants[].applications[].routes[].runtime<python>.workers
| Syntax | workers: {...} |
| Default | none |
| Context | tenants[].applications[].routes[].runtime (type: python) |
| Reload | applies on reload |
Worker processes of the application server (min).
tenants[].applications[].routes[].runtime<python>.workers.autoscale
| Syntax | autoscale: off | auto | recommend |
| Default | recommend |
| Context | tenants[].applications[].routes[].runtime<python>.workers |
| Reload | applies on reload |
off, recommend (default) or auto (ADR-0014).
tenants[].applications[].routes[].runtime<python>.workers.max
| Syntax | max: <integer> |
| Default | required |
| Context | tenants[].applications[].routes[].runtime<python>.workers |
| Reload | applies on reload |
Upper bound when the pool is scaled.
tenants[].applications[].routes[].runtime<python>.workers.min
| Syntax | min: <integer> |
| Default | required |
| Context | tenants[].applications[].routes[].runtime<python>.workers |
| Reload | applies on reload |
Processes started at the beginning and kept at least.
tenants[].applications[].routes[].runtime<python>.workers.target_concurrency
| Syntax | target_concurrency: <integer> |
| Default | none |
| Context | tenants[].applications[].routes[].runtime<python>.workers |
| Reload | applies on reload |
Concurrent requests one worker is expected to handle well (utilisation basis).
tenants[].applications[].runtime<python>.app
| Syntax | app: <string> |
| Default | none |
| Context | tenants[].applications[].runtime (type: python) |
| Reload | applies on reload |
module:callable, e.g. app:app or mysite.wsgi:application.
tenants[].applications[].runtime<python>.command
| Syntax | command: [<string>, ...] |
| Default | [] |
| Context | tenants[].applications[].runtime (type: python) |
| Reload | applies on reload |
Explicit argv. Bind arguments are appended for uvicorn/hypercorn/gunicorn unless the argv already contains {socket} or {port}.
tenants[].applications[].runtime<python>.env
| Syntax | env: {<key>: <string>, ...} |
| Default | empty |
| Context | tenants[].applications[].runtime (type: python) |
| Reload | applies on reload |
Environment variables for the processes.
tenants[].applications[].runtime<python>.health_path
| Syntax | health_path: <string> |
| Default | none |
| Context | tenants[].applications[].runtime (type: python) |
| Reload | applies on reload |
Path requested to decide that a worker is ready and healthy.
tenants[].applications[].runtime<python>.listen
| Syntax | listen: unix | tcp |
| Default | unix |
| Context | tenants[].applications[].runtime (type: python) |
| Reload | applies on reload |
unix: a socket under runtime_dir; tcp: a free loopback port.
tenants[].applications[].runtime<python>.mode
| Syntax | mode: asgi | wsgi |
| Default | required |
| Context | tenants[].applications[].runtime (type: python) |
| Reload | applies on reload |
asgi (uvicorn) or wsgi (gunicorn).
tenants[].applications[].runtime<python>.process_pool
| Syntax | process_pool: true | false |
| Default | false |
| Context | tenants[].applications[].runtime (type: python) |
| Reload | applies on reload |
scalws runs workers.min..max single-worker server processes itself instead of one server with --workers, so the pool can be scaled and restarted live (ADR-0014). Trades the server’s copy-on-write sharing for scaling.
tenants[].applications[].runtime<python>.response_timeout
| Syntax | response_timeout: <duration> (e.g. 30s) |
| Default | 60s |
| Context | tenants[].applications[].runtime (type: python) |
| Reload | applies on reload |
Time to wait for the response headers of the application.
tenants[].applications[].runtime<python>.server
| Syntax | server: uvicorn | hypercorn | gunicorn |
| Default | none |
| Context | tenants[].applications[].runtime (type: python) |
| Reload | applies on reload |
Default: uvicorn for ASGI, gunicorn for WSGI.
tenants[].applications[].runtime<python>.startup_timeout
| Syntax | startup_timeout: <duration> (e.g. 30s) |
| Default | 30s |
| Context | tenants[].applications[].runtime (type: python) |
| Reload | applies on reload |
Time the processes get to become ready.
tenants[].applications[].runtime<python>.stop_timeout
| Syntax | stop_timeout: <duration> (e.g. 30s) |
| Default | 10s |
| Context | tenants[].applications[].runtime (type: python) |
| Reload | applies on reload |
Time the processes get to exit after SIGTERM before they are killed.
tenants[].applications[].runtime<python>.upstream
| Syntax | upstream: <string> |
| Default | none |
| Context | tenants[].applications[].runtime (type: python) |
| Reload | applies on reload |
Proxy to a Python server managed elsewhere instead of starting one.
tenants[].applications[].runtime<python>.virtualenv
| Syntax | virtualenv: <string> |
| Default | none |
| Context | tenants[].applications[].runtime (type: python) |
| Reload | applies on reload |
Virtual environment whose server binary and packages are used.
tenants[].applications[].runtime<python>.workers
| Syntax | workers: {...} |
| Default | none |
| Context | tenants[].applications[].runtime (type: python) |
| Reload | applies on reload |
Worker processes of the application server (min).
tenants[].applications[].runtime<python>.workers.autoscale
| Syntax | autoscale: off | auto | recommend |
| Default | recommend |
| Context | tenants[].applications[].runtime<python>.workers |
| Reload | applies on reload |
off, recommend (default) or auto (ADR-0014).
tenants[].applications[].runtime<python>.workers.max
| Syntax | max: <integer> |
| Default | required |
| Context | tenants[].applications[].runtime<python>.workers |
| Reload | applies on reload |
Upper bound when the pool is scaled.
tenants[].applications[].runtime<python>.workers.min
| Syntax | min: <integer> |
| Default | required |
| Context | tenants[].applications[].runtime<python>.workers |
| Reload | applies on reload |
Processes started at the beginning and kept at least.
tenants[].applications[].runtime<python>.workers.target_concurrency
| Syntax | target_concurrency: <integer> |
| Default | none |
| Context | tenants[].applications[].runtime<python>.workers |
| Reload | applies on reload |
Concurrent requests one worker is expected to handle well (utilisation basis).