summaryrefslogtreecommitdiff
path: root/scripts/sydra-manager.sh
blob: 093d55760cffc144a3f3a255ede7017cf71af694 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#!/bin/bash

############################

ROOT_D="$1"
GROUP_NAME="$2"

############################

printUsage() {
  echo "Usage: $0 <basedir> <groupname>"
}

if [ -z "$ROOT_D" ] || [ -z "$GROUP_NAME" ]; then
  printUsage
  exit 1
fi
if [ ! -d "$ROOT_D" ]; then
  echo "ERROR: can't change to non-existent directory: $ROOT_D"
  exit 2
fi

. ./include.sh

PIPE="$ROOT_D/sydra-manager.sock"
trap "rm -f $PIPE" EXIT
if [[ ! -p $PIPE ]]; then
    mkfifo $PIPE
fi

cd "$ROOT_D"
echo "00" > show-stream.current

while true
do
    if read line <$PIPE; then
        cmd=${line%% *}
        arg=${line##* }
        case $cmd in
          restart)
            get_num $arg
            if [ -z "$NUM" ]; then NUM=$arg; fi
            supervisorctl restart "$GROUP_NAME:$NUM"
            NUM=''
            ;;
          select)
            get_num $arg
            if [ -n "$NUM" ]; then
              echo "$NUM" > show-stream.current
              supervisorctl restart "$GROUP_NAME:main"
            fi
            NUM=''
            ;;
          *)
	    ;;
        esac
    fi
done

exit 0