1#!/bin/sh 2 3. ${STREAMBOOST_CFGDIR:-/etc/appflow}/rc.appflow 4 5# standard settings - accept overrides from the calling environment 6[ -z "$KROUTER_DEBUG_FILE" ] && KROUTER_DEBUG_FILE="/etc/krouter_debug" 7BINARY="flowman" 8export RUNDIR BINDIR BINARY 9 10# configuration items 11DAEMON_BIN="${BINDIR}/${BINARY}" 12DISPLAY_NAME="Flowman" 13PIDFILE="${RUNDIR}/${BINARY}.pid" 14REDIS_PORT=6379 15REDIS_HOST=127.0.0.1 16REDIS_UNIXSOCK=/var/run/appflow/redis.sock 17REDIS_TIMEOUT=3000 18FLOWMAN_LOG_LEVEL=6 19CONN_LINGER=$(cat /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_time_wait 2>/dev/null) 20[ -z "$CONN_LINGER" ] && CONN_LINGER=120 21 22# Format the command line parameters 23OPTIONS_REDIS="--redis-unixsocket=$REDIS_UNIXSOCK --redis-timeout=$REDIS_TIMEOUT" 24OPTIONS_PARAMS="--connection-linger=$CONN_LINGER" 25OPTIONS_DAEMON="--daemon --use-syslog --pid-file=$PIDFILE" 26OPTIONS_LOG="--log-level=$FLOWMAN_LOG_LEVEL" 27OPTIONS_ALL="$OPTIONS_REDIS $OPTIONS_DAEMON $OPTIONS_LOG $OPTIONS_PARAMS" 28OPTIONS_DEBUG="--no-daemon --log-level=7 --no-syslog" 29 30start() { 31 echo -n "Starting ${DISPLAY_NAME}: " 32 start-stop-daemon -S -q -p $PIDFILE -x $DAEMON_BIN -- $OPTIONS_ALL "$@" 33 retval=$? 34 echo 35 return ${retval} 36} 37 38debug() { 39 [ ! -d "$RUNDIR" ] && { 40 mkdir -p $RUNDIR 41 } 42 43 echo -n "Running ${DISPLAY_NAME} in debug mode: " 44 $DAEMON_BIN -- $OPTIONS_ALL $OPTIONS_DEBUG "$@" 45 retval=$? 46 echo 47 return ${retval} 48} 49 50boot() { 51 [ ! -d "$RUNDIR" ] && { 52 mkdir -p $RUNDIR 53 } 54 55 if [ -n "$KROUTER_DEBUG_FILE" ] && [ -e "$KROUTER_DEBUG_FILE" ]; then 56 # debug file is present 57 echo "$DISPLAY_NAME: booting in debug mode" 58 start $OPTIONS_DEBUG "$@" 59 else 60 start "$@" 61 fi 62} 63 64restart() { 65 stop 66 start 67} 68 69action() { 70 action=${1:-boot} 71 shift 72 73 case "${action}" in 74 boot|init) 75 boot "$@" 76 ;; 77 start|stop|restart|status|debug) 78 ${action} "$@" 79 ;; 80 *) 81 echo "Usage: $0 start|boot|stop|restart|status|debug" 82 exit 1 83 esac 84} 85 86action "$@" 87exit $? 88