summaryrefslogtreecommitdiffstats
path: root/main/uwsgi/uwsgi.initd
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2014-03-25 07:44:43 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2014-03-25 07:45:18 +0000
commitcc5f305aaba4cefe2227aef2550d565f2f5a8147 (patch)
tree0be7c2bfb3c9f345db465f04b54ccb4b7bbb4de6 /main/uwsgi/uwsgi.initd
parent855ad8d21bb69b8db500260c9e4033f3e60f1414 (diff)
downloadaports-cc5f305aaba4cefe2227aef2550d565f2f5a8147.tar.bz2
aports-cc5f305aaba4cefe2227aef2550d565f2f5a8147.tar.xz
main/uwsgi: moved from testing
Diffstat (limited to 'main/uwsgi/uwsgi.initd')
-rw-r--r--main/uwsgi/uwsgi.initd144
1 files changed, 144 insertions, 0 deletions
diff --git a/main/uwsgi/uwsgi.initd b/main/uwsgi/uwsgi.initd
new file mode 100644
index 000000000..0f330d568
--- /dev/null
+++ b/main/uwsgi/uwsgi.initd
@@ -0,0 +1,144 @@
+#!/sbin/runscript
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-servers/uwsgi/files/uwsgi.initd-r3,v 1.1 2013/03/01 09:50:06 ultrabug Exp $
+
+PROGNAME=${SVCNAME#*.}
+
+UWSGI_EXEC=/usr/sbin/uwsgi
+if [ "${SVCNAME}" == "uwsgi" ]; then
+ PIDPATH=/var/run/uwsgi
+else
+ PIDPATH="/var/run/uwsgi_${PROGNAME}"
+fi
+PIDFILE="${PIDPATH}/${PROGNAME}.pid"
+
+extra_started_commands="${opts} reload stats"
+
+depend() {
+ need net
+}
+
+start_pre() {
+ checkpath -d -m 0750 -o "${UWSGI_USER}":"${UWSGI_GROUP}" "${PIDPATH}"
+}
+
+start_emperor() {
+ local OPTIONS
+ OPTIONS="--daemonize"
+
+ if [ -n "${UWSGI_LOG_FILE}" ]; then
+ OPTIONS="${OPTIONS} ${UWSGI_LOG_FILE}"
+ else
+ OPTIONS="${OPTIONS} /dev/null --disable-logging"
+ fi
+
+ [ -z "${UWSGI_DIR}" ] && UWSGI_DIR="/"
+ [ -z "${UWSGI_USER}" ] && UWSGI_USER="root"
+ [ -z "${UWSGI_GROUP}" ] && UWSGI_GROUP="root"
+
+ if [ -n "${UWSGI_EXTRA_OPTIONS}" ]; then
+ OPTIONS="${OPTIONS} ${UWSGI_EXTRA_OPTIONS}"
+ fi
+
+ ebegin "Starting uWSGI emperor"
+ cd "${UWSGI_DIR}" && \
+ start-stop-daemon --start --user "${UWSGI_USER}" --exec "${UWSGI_EXEC}" \
+ --group ${UWSGI_EMPEROR_GROUP:-${UWSGI_GROUP}} \
+ -- --emperor "${UWSGI_EMPEROR_PATH}" ${OPTIONS} --pidfile "${PIDFILE}"
+ return $?
+}
+
+start_app() {
+ local OPTIONS
+ OPTIONS="--master --daemonize"
+
+ if [ -n "${UWSGI_LOG_FILE}" ]; then
+ OPTIONS="${OPTIONS} ${UWSGI_LOG_FILE}"
+ else
+ OPTIONS="${OPTIONS} /dev/null --disable-logging"
+ fi
+
+ [ -z "${UWSGI_DIR}" ] && UWSGI_DIR="/"
+ [ -z "${UWSGI_USER}" ] && UWSGI_USER="root"
+ [ -z "${UWSGI_GROUP}" ] && UWSGI_GROUP="root"
+
+ if [ -n "${UWSGI_EXTRA_OPTIONS}" ]; then
+ OPTIONS="${OPTIONS} ${UWSGI_EXTRA_OPTIONS}"
+ fi
+
+ if [ "${UWSGI_THREADS}" = "1" ]; then
+ OPTIONS="${OPTIONS} --enable-threads"
+ fi
+
+ if [ -n "${UWSGI_SOCKET}" ]; then
+ OPTIONS="${OPTIONS} --socket ${UWSGI_SOCKET}"
+ fi
+
+ if [ -n "${UWSGI_PROCESSES}" ]; then
+ OPTIONS="${OPTIONS} --processes ${UWSGI_PROCESSES}"
+ fi
+
+ if [ -n "${UWSGI_CHROOT}" ]; then
+ OPTIONS="${OPTIONS} --chroot ${UWSGI_CHROOT}"
+ fi
+
+ if [ -n "${UWSGI_PROGRAM}" ]; then
+ OPTIONS="${OPTIONS} --fileserve-mode ${UWSGI_PROGRAM}"
+ fi
+
+ if [ -n "${UWSGI_XML_CONFIG}" ]; then
+ OPTIONS="${OPTIONS} --xmlconfig ${UWSGI_XML_CONFIG}"
+ fi
+
+ ebegin "Starting uWSGI application ${PROGNAME}"
+ cd "${UWSGI_DIR}" && \
+ start-stop-daemon --start --user "${UWSGI_USER}" --group "${UWSGI_GROUP}" \
+ --exec "${UWSGI_EXEC}" -- ${OPTIONS} --pidfile "${PIDFILE}"
+ return $?
+}
+
+start() {
+ if [ "${SVCNAME}" == "uwsgi" ]; then
+ if [ -n "${UWSGI_EMPEROR_PATH}" ]; then
+ start_emperor
+ eend $?
+ else
+ eerror "You are not supposed to run this script directly unless you"
+ eerror "want to run in Emperor mode. In that case please set the UWSGI_EMPEROR_PATH."
+ eerror "Otherwise create a symlink for the uwsgi application you want to run as well as"
+ eerror "a copy of the configuration file and modify it appropriately like so..."
+ eerror
+ eerror " ln -s uwsgi /etc/init.d/uwsgi.trac"
+ eerror " cp /etc/conf.d/uwsgi /etc/conf.d/uwsgi.trac"
+ eerror " nano /etc/conf.d/uwsgi.trac"
+ eerror
+ return 1
+ fi
+ else
+ start_app
+ eend $?
+ fi
+}
+
+stop() {
+ if [ -n "${UWSGI_EMPEROR_PATH}" ]; then
+ ebegin "Stopping uWSGI emperor"
+ else
+ ebegin "Stopping uWSGI application ${PROGNAME}"
+ fi
+ start-stop-daemon --stop --signal QUIT --pidfile "${PIDFILE}"
+ eend $?
+}
+
+reload() {
+ ebegin "Reloading uWSGI"
+ start-stop-daemon --signal HUP --pidfile "${PIDFILE}"
+ eend $?
+}
+
+stats() {
+ ebegin "Logging uWSGI statistics"
+ start-stop-daemon --signal USR1 --pidfile "${PIDFILE}"
+ eend $?
+}