Skip to content

Instantly share code, notes, and snippets.

@Peelz
Last active August 7, 2020 18:49
Show Gist options
  • Save Peelz/bcc09e4cd3c05d26e9d88df7f63c4d18 to your computer and use it in GitHub Desktop.
Save Peelz/bcc09e4cd3c05d26e9d88df7f63c4d18 to your computer and use it in GitHub Desktop.
#!/bin/bash
#
# rqworker Manage the rqworker
#
# chkconfig: 2345 96 0
# description: rqworker is a tool for service discovery and configuration
# processname: rqworker
### BEGIN INIT INFO
# Provides: rqworker
# Required-Start: $local_fs $network
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Manage the rqworker agent
# Description: rqworker is a tool for service discovery and configuration
### END INIT INFO
# source function library
. /etc/rc.d/init.d/functions
if [ -z "$RQ_QUEUE_NAME" ]
then
queue_name="default"
else
queue_name=$RQ_QUEUE_NAME
fi
queue_name="default"
engine_name="app_name"
prog="rqworker"
user="root"
exec=$prog
pid_path="/var/run/"
lockfile="/var/lock/subsys/$prog"
logfile="/var/log/engine/$prog.log"
manage_py="path/to/manage.py"
command="python3 $manage_py rqworker $queue_name"
# pull in sysconfig settings
[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
export GOMAXPROCS=${GOMAXPROCS:-2}
start() {
umask 077
touch $logfile
chown $user:$user $logfile
echo -n $"Starting $prog: "
daemon --user=$user " { eval "$command" $1 & } ; "
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch $lockfile
sleep 2
return $RETVAL
}
stop() {
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f $lockfile
return $RETVAL
}
restart() {
stop
sleep 2
start
}
reload() {
echo -n $"Reloading $prog: "
killproc -p $pidfile $exec -HUP
echo
}
force_reload() {
restart
}
rh_status() {
status -l "$lockfile" $exec
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
bootstrap)
rh_status_q && exit 0
start -bootstrap
;;
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
restart
;;
*)
echo $"Usage: $0 {bootstrap|start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
exit 2
esac
exit $?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment