diff options
Diffstat (limited to 'main/uwsgi/uwsgi.initd')
-rw-r--r-- | main/uwsgi/uwsgi.initd | 142 |
1 files changed, 6 insertions, 136 deletions
diff --git a/main/uwsgi/uwsgi.initd b/main/uwsgi/uwsgi.initd index 6dc33377e4..21c4586738 100644 --- a/main/uwsgi/uwsgi.initd +++ b/main/uwsgi/uwsgi.initd @@ -1,144 +1,14 @@ #!/sbin/openrc-run -# 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" +pidfile="/run/uwsgi/uwsgi.pid" +command="/usr/sbin/uwsgi" +command_args="--daemonize=/var/log/uwsgi.log --emperor /etc/uwsgi/conf.d --emperor-pidfile=$pidfile" depend() { - need net + 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 $? + checkpath --directory --owner uwsgi:uwsgi \ + --mode 0775 /run/uwsgi } |