Matthias Stecher
13e97d171b
The Gunicorn type now supports systemd sockets only. With uWSGI, you can choose between it and the native sockets based on the parameters chosen. This is done because it could not be implemented to have multiple protocols with the systemd sockets (so you may choose). The systemd socket unit file is generally available, so both types use the same script to generate the socket unit file.
31 lines
837 B
Bash
Executable file
31 lines
837 B
Bash
Executable file
#!/bin/sh -e
|
|
|
|
# Generates gunicorn config
|
|
# see https://docs.gunicorn.org/en/stable/settings.html
|
|
|
|
# fix missing $__explorer
|
|
# see https://code.ungleich.ch/ungleich-public/cdist/-/issues/834
|
|
__explorer="$__global/explorer"
|
|
|
|
# size workes by cpu
|
|
cores="$(cat "$__explorer/cpu_cores")"
|
|
|
|
|
|
cat << EOF
|
|
# The IP address (typically localhost) and port that the Netbox WSGI process should listen on
|
|
#bind = done via systemd socket 'gunicorn-netbox.socket'
|
|
|
|
# Number of gunicorn workers to spawn. This should typically be 2n+1, where
|
|
# n is the number of CPU cores present.
|
|
workers = $(( 2*cores + 1 ))
|
|
|
|
# Number of threads per worker process
|
|
threads = 3
|
|
|
|
# Timeout (in seconds) for a request to complete
|
|
timeout = 120
|
|
|
|
# The maximum number of requests a worker can handle before being respawned
|
|
max_requests = 5000
|
|
max_requests_jitter = 500
|
|
EOF
|