#!/usr/bin/env bash
#bitten-slave -k -f config.ini -d . --build-dir=. http://localhost:8080/builds & echo $! > slave.pid
prog="bitten-slave"
SLAVE_PATH="$2"
URL=$3
PID_FILE="$SLAVE_PATH/slave.pid"
SLAVE_CONFIG="$SLAVE_PATH/config.ini"
start() {
if [ ! -e "$PID_FILE" ]; then
bitten-slave -k -f "$SLAVE_CONFIG" -d $SLAVE_PATH --build-dir=$SLAVE_PATH $URL > /dev/null 2> /dev/null & echo $! > "$PID_FILE"
else
echo "Slave not started. $PID_FILE exist. It looks like another instance of slave is running"
exit 3
fi
}
stop() {
if [ -e "$PID_FILE" ]; then
kill -9 $(cat "$PID_FILE")
rm -f "$PID_FILE"
else
echo "$PID_FILE not exist. It looks like slave is stopped."
fi
}
status() {
if [ -e "$PID_FILE" ]; then
echo -n "slave is running for "
MTIME=$(stat -c"%Y" "/proc/$(cat $PID_FILE)/fd/1")
NOW=$(date +%s)
PASSED=$(( $NOW-$MTIME ))
echo "$PASSED secs"
if (( "$PASSED" > 20 )) ; then
echo "Slave not respond"
exit 7
fi
else
echo "slave not running"
fi
}
case $1 in
(start|stop|status)
$1
;;
(*)
echo $"Usage: $0 {start|stop|status}"
exit 3
esac
slave.sh