Skip to content

Commit 5539109

Browse files
committed
feature(manage): add stop onl option
1 parent ddf8c95 commit 5539109

File tree

1 file changed

+32
-10
lines changed

1 file changed

+32
-10
lines changed

manage

Lines changed: 32 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
function print_help {
44
echo "usage:"
5-
echo " ./manage [makemigrations|migrate|clean|rebuild|run]"
5+
echo " ./manage [makemigrations|migrate|clean|rebuild|run|stop]"
66
}
77

88
[[ $# -ne 1 ]] && print_help && exit
@@ -27,30 +27,50 @@ function migrate {
2727
python3 manage.py inituser --username=root --password=rootroot --action=create_super_admin
2828
}
2929

30-
function run {
31-
# run dramatiq
32-
pgrep dramatiq > /dev/null
30+
function run_onl {
31+
[[ ! -d data/log ]] && mkdir -p data/log && echo 'mkdir data/log'
3332

3433
# using postgres
3534
# docker run -it -d -e POSTGRES_DB=onlinejudge -e POSTGRES_USER=onlinejudge -e POSTGRES_PASSWORD=onlinejudge -p 5435:5432 --name oj-postgres-dev postgres:10-alpine
3635

36+
# run dramatiq
37+
pgrep dramatiq > /dev/null
3738
if [[ $? -ne 0 ]]; then
3839
echo "running dramatiq ..."
3940
python3 manage.py rundramatiq &>data/log/dramatiq.log &
4041
else
4142
echo "dramatiq is already running ..."
4243
fi
43-
docker container ls > /dev/null
44-
44+
45+
# run redis
46+
docker container ls | grep redis > /dev/null
4547
if [[ $? -ne 0 ]]; then
4648
echo "running redis in docker ..."
47-
docker run -it -d -p 6380:6379 --name oj-redis-dev redis:4.0-alpine
49+
docker ps -a | grep redis > /dev/null
50+
if [[ $? -ne 0 ]]; then
51+
docker run -it -d -p 6380:6379 --name oj-redis-dev redis:4.0-alpine > /dev/null
52+
else
53+
container_id=$(docker ps -a | grep redis | awk '{print $1}')
54+
docker container start $container_id
55+
fi
4856
else
4957
echo "redis is already running"
5058
fi
5159

52-
echo "running onl ..."
53-
python3 manage.py runserver 0.0.0.0:7890 &>data/log/onl.log &
60+
# run onl
61+
pgrep -f "python3 manage.py runserver" > /dev/null
62+
if [[ $? -ne 0 ]]; then
63+
echo "running onl ..."
64+
python3 manage.py runserver 0.0.0.0:7890 &>data/log/onl.log &
65+
else
66+
echo "onl is already running ..."
67+
fi
68+
}
69+
70+
function stop_onl {
71+
pkill dramatiq
72+
pkill -f "python3 manage.py runserver"
73+
docker container stop oj-redis-dev > /dev/null
5474
}
5575

5676
if [[ $cmd == "make" || $cmd == "makemigrations" ]]; then
@@ -65,5 +85,7 @@ elif [[ $cmd == "rebuild" ]]; then
6585
clean
6686
migrate
6787
elif [[ $cmd == "run" ]]; then
68-
run
88+
run_onl
89+
elif [[ $cmd == "stop" ]]; then
90+
stop_onl
6991
fi

0 commit comments

Comments
 (0)