-
Notifications
You must be signed in to change notification settings - Fork 1.6k
/
Copy pathstart.sh
96 lines (86 loc) · 2.92 KB
/
start.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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#!/bin/sh
count=$(mysql -h mysql -D ${MYSQL_DATABASE} -e "show tables;" -u${MYSQL_USER} -p${MYSQL_ROOT_PASSWORD}|wc -l)
if [[ $? -eq 0 ]]; then
if [ "${count}" -eq 0 ]
then
cd /data/apps/opsmanage/ && \
python3 manage.py makemigrations account && \
python3 manage.py makemigrations wiki && \
python3 manage.py makemigrations orders && \
python3 manage.py makemigrations navbar && \
python3 manage.py makemigrations databases && \
python3 manage.py makemigrations asset && \
python3 manage.py makemigrations deploy && \
python3 manage.py makemigrations cicd && \
python3 manage.py makemigrations sched && \
python3 manage.py makemigrations apply && \
python3 manage.py migrate && \
python manage.py loaddata docker/superuser.json
fi
else
echo "MySQL connection failed, program exited"
exit 256
fi
echo_supervisord_conf > /etc/supervisord.conf
export PYTHONOPTIMIZE=1
cat > /etc/supervisord.conf << EOF
[unix_http_server]
file=/tmp/supervisor.sock
[supervisord]
logfile=/data/apps/opsmanage/logs/supervisord.log
logfile_maxbytes=50MB
logfile_backups=10
loglevel=info
pidfile=/var/run/supervisord.pid
nodaemon=false
minfds=1024
minprocs=200
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=unix:///tmp/supervisor.sock
[program:celery-worker-default]
environment=C_FORCE_ROOT="true",PYTHONOPTIMIZE=1
command=celery -A OpsManage worker --loglevel=info -E -Q default -n worker-default@%%h
directory=/data/apps/opsmanage
stdout_logfile=/data/apps/opsmanage/logs/celery-worker-default.log
autostart=true
autorestart=true
redirect_stderr=true
stopsignal=QUIT
numprocs=1
[program:celery-worker-ansible]
environment=C_FORCE_ROOT="true",PYTHONOPTIMIZE=1
command=celery -A OpsManage worker --loglevel=info -E -Q ansible -n worker-ansible@%%h
directory=/data/apps/opsmanage
stdout_logfile=/data/apps/opsmanage/logs/celery-worker-ansible.log
autostart=true
autorestart=true
redirect_stderr=true
stopsignal=QUIT
numprocs=1
[program:celery-beat]
environment=C_FORCE_ROOT="true",PYTHONOPTIMIZE=1
command=celery -A OpsManage beat --loglevel=info --scheduler django_celery_beat.schedulers:DatabaseScheduler
directory=/data/apps/opsmanage
stdout_logfile=/data/apps/opsmanage/logs/celery-beat.log
autostart=true
autorestart=true
redirect_stderr=true
stopsignal=QUIT
numprocs=1
[program:apply-task]
environment=C_FORCE_ROOT="true",PYTHONOPTIMIZE=1
command=python3 manage.py apply_task
directory=/data/apps/opsmanage
stdout_logfile=/data/apps/opsmanage/logs/apply-task.log
autostart=true
autorestart=true
redirect_stderr=true
stopsignal=QUIT
numprocs=1
EOF
supervisord -c /etc/supervisord.conf
sleep 3
cd /data/apps/opsmanage/
python3 manage.py runserver 0.0.0.0:8000 --http_timeout=1200