forked from foreveryh/django-excel-import
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathguni.sh
executable file
·64 lines (59 loc) · 1.47 KB
/
guni.sh
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
61
62
63
#!/bin/bash
ADDRESS="127.0.0.1"
PROJECTNAME="cityapp"
PROJECTLOC="/Users/gaopeng/Projects/$PROJECTNAME"
LOGFILE="$PROJECTLOC/logs/guni.log"
DEFAULT_ARGS="--workers=3 --daemon --log-level=debug --log-file=$LOGFILE --bind=$ADDRESS:"
BASE_CMD="gunicorn $PROJECTNAME.wsgi:application $DEFAULT_ARGS"
SERVER1_PORT='8888'
SERVER1_PID="$PROJECTLOC/$SERVER1_PORT.pid"
SERVER2_PORT='8889'
SERVER2_PID="$PROJECTLOC/$SERVER2_PORT.pid"
start_server () {
if [ -f $1 ]; then
#pid exists, check if running
if [ "$(ps -p `cat $1` | wc -l)" -gt 1 ]; then
echo "Server already running on ${ADDRESS}:${2}"
return
fi
fi
cd $PROJECTLOC
echo "starting ${ADDRESS}:${2}"
$BASE_CMD$2 --pid=$1
}
stop_server (){
if [ -f $1 ] && [ "$(ps -p `cat $1` | wc -l)" -gt 1 ]; then
echo "stopping server ${ADDRESS}:${2}"
kill -9 `cat $1`
rm $1
else
if [ -f $1 ]; then
echo "server ${ADDRESS}:${2} not running"
else
echo "No pid file found for server ${ADDRESS}:${2}"
fi
fi
}
case "$1" in
'start')
start_server $SERVER1_PID $SERVER1_PORT
start_server $SERVER2_PID $SERVER2_PORT
;;
'stop')
stop_server $SERVER1_PID $SERVER1_PORT
stop_server $SERVER2_PID $SERVER2_PORT
;;
'restart')
stop_server $SERVER1_PID $SERVER1_PORT
sleep 2
start_server $SERVER1_PID $SERVER1_PORT
sleep 2
stop_server $SERVER2_PID $SERVER2_PORT
sleep 2
start_server $SERVER2_PID $SERVER2_PORT
;;
*)
echo "Usage: $0 { start | stop | restart }"
;;
esac
exit 0