-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathbootstrap.sh
More file actions
42 lines (32 loc) · 807 Bytes
/
bootstrap.sh
File metadata and controls
42 lines (32 loc) · 807 Bytes
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
#! /usr/bin/env sh
cd "$(dirname "$0")" || return
# set worker number
if [ -z "$WORKER_NUM" ]; then
if [ -z "$MY_CPU_LIMIT" ]; then
WORKER_NUM=4
else
WORKER_NUM=$((MY_CPU_LIMIT * 2))
fi
fi
echo "WORKER_NUM=$WORKER_NUM"
# set port
if [ "$IS_HOST_NETWORK" = "1" ] && [ "$PORT0" ]; then
PORT=$PORT0
else
PORT=1234
fi
echo "PORT=$PORT"
# do not use reload under production mode
if [ "$IS_PROD_RUNTIME" ] || [ "$SERVICE_ENV" ]; then
RELOAD_PARAM=""
else
RELOAD_PARAM="--reload"
fi
echo "RELOAD_PARAM=$RELOAD_PARAM"
# initialize database
python initialize_database.py
# start app server with gunicorn
python -m gunicorn app:app --workers $WORKER_NUM --bind "[::]:$PORT" $RELOAD_PARAM --timeout 60 --graceful-timeout 10 &
PID=$!
trap 'echo "Stopping"; kill $PID' TERM INT
wait $PID