mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-05-13 02:14:23 +02:00
87 lines
2.2 KiB
Bash
87 lines
2.2 KiB
Bash
#!/sbin/openrc-run
|
|
|
|
# If you want to run multiple separate processes, then create symlinks to
|
|
# this runscript (e.g. uwsgi.myapp or myapp) and configure options in
|
|
# the corresponding conf.d files. uWSGI options can be specified using
|
|
# variable uwsgi_opts or config file specified by variable uwsgi_conf.
|
|
|
|
: ${pidfile:="/run/$RC_SVCNAME/uwsgi.pid"}
|
|
: ${retry:="INT/30/KILL/5"}
|
|
: ${wait:=200} # milliseconds
|
|
|
|
extra_started_commands='reload stats'
|
|
description_reload='Gracefully reload all the workers and the master process'
|
|
description_stats='Dump uWSGI statistics to log file'
|
|
|
|
command='/usr/sbin/uwsgi'
|
|
command_args="--die-on-term ${uwsgi_opts:-}"
|
|
command_background='yes'
|
|
start_stop_daemon_args="--quiet --wait $wait"
|
|
|
|
if [ "$RC_SVCNAME" = 'uwsgi' ]; then
|
|
: ${name:="uWSGI emperor"}
|
|
emperor='yes'
|
|
else
|
|
: ${name:="uWSGI application ${RC_SVCNAME#uwsgi.}"}
|
|
emperor='no'
|
|
fi
|
|
|
|
depend() {
|
|
need net
|
|
use apache2 lighttpd nginx
|
|
after postgresql
|
|
}
|
|
|
|
start_pre() {
|
|
if [ "$emperor" = 'yes' ]; then
|
|
: ${logfile:="/var/log/uwsgi/uwsgi.log"}
|
|
: ${user:="root"}
|
|
else
|
|
: ${user:="nobody"}
|
|
command_args="--master $command_args"
|
|
fi
|
|
start_stop_daemon_args="$start_stop_daemon_args
|
|
--user $user
|
|
$(optif --group "$group")
|
|
$(optif --stdout "$logfile")
|
|
$(optif --stderr "$logfile")
|
|
$(optif --stdout-logger "$output_logger")
|
|
$(optif --stderr-logger "$error_logger")"
|
|
|
|
if [ -z "$uwsgi_conf" ]; then
|
|
case "$RC_SVCNAME" in
|
|
uwsgi) uwsgi_conf='/etc/uwsgi/uwsgi.ini';;
|
|
uwsgi.*) uwsgi_conf="/etc/uwsgi/conf.d/${RC_SVCNAME#uwsgi.}";;
|
|
*) uwsgi_conf="/etc/$RC_SVCNAME/uwsgi";;
|
|
esac
|
|
fi
|
|
|
|
if [ -f "${uwsgi_conf%.ini}.ini" ]; then
|
|
command_args="$command_args --ini ${uwsgi_conf%.ini}.ini"
|
|
elif [ -f "${uwsgi_conf%.yml}.yml" ]; then
|
|
command_args="$command_args --yaml ${uwsgi_conf%.yml}.yml"
|
|
fi
|
|
|
|
checkpath -d -m 775 -o $user:$group \
|
|
"$(dirname "$pidfile")"
|
|
|
|
if yesno "$EINFO_VERBOSE"; then
|
|
einfo "Command: $command $(printf '%s ' $command_args)"
|
|
fi
|
|
}
|
|
|
|
reload() {
|
|
ebegin "Reloading $name"
|
|
start-stop-daemon --signal HUP --pidfile "$pidfile"
|
|
eend $?
|
|
}
|
|
|
|
stats() {
|
|
ebegin "Dumping statistics for $name to the log file"
|
|
start-stop-daemon --signal USR1 --pidfile "$pidfile"
|
|
eend $?
|
|
}
|
|
|
|
optif() {
|
|
test -n "$2" && printf "%s %s\n" "$1" "$2"
|
|
}
|