Skip to content

Instantly share code, notes, and snippets.

@philsturgeon
Forked from fabriziomachado/gearman-workers.sh
Created January 16, 2012 01:53
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save philsturgeon/1618623 to your computer and use it in GitHub Desktop.
Save philsturgeon/1618623 to your computer and use it in GitHub Desktop.
/etc/init.d/gearman-workers
#!/bin/bash
#
# /etc/init.d/gearman-workers
### BEGIN INIT INFO
# Provides: gearman-workers
# Required-Start: $network $remote_fs $syslog
# Required-Stop: $network $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Run gearman workers
### END INIT INFO
PIDDIR=/var/run/gearman
start()
{
if ! test -d ${PIDDIR}
then
mkdir ${PIDDIR}
fi
for file in /home/ubuntu/workers/*.php
do
echo "Starting worker: $file"
PID=`php $file &`
PIDFILE=${PIDDIR}/${PID}.pid
echo $PID > $PIDFILE
done
echo "Workers started"
exit 2
}
stop()
{
echo "Stoping workers $2"
for file in "${PIDDIR}/*.pid"
do
PID=`cat $file`
kill -9 $PID
done
exit 1
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|force-reload)
start
stop
;;
*)
echo "Input [start|stop|restart|force-reload]"
exit 1
;;
esac
@leandroafonso
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment