Skip to content

Commit 661941d

Browse files
jennifer-richardsNGPixel
authored andcommitted
feat: Split datatracker/celery start scripts (ietf-tools#6974)
1 parent 565486e commit 661941d

3 files changed

Lines changed: 51 additions & 9 deletions

File tree

dev/build/celery-start.sh

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#!/bin/bash
2+
#
3+
# Run a celery worker
4+
#
5+
echo "Running Datatracker checks..."
6+
./ietf/manage.py check
7+
8+
cleanup () {
9+
# Cleanly terminate the celery app by sending it a TERM, then waiting for it to exit.
10+
if [[ -n "${celery_pid}" ]]; then
11+
echo "Gracefully terminating celery worker. This may take a few minutes if tasks are in progress..."
12+
kill -TERM "${celery_pid}"
13+
wait "${celery_pid}"
14+
fi
15+
}
16+
17+
trap 'trap "" TERM; cleanup' TERM
18+
19+
# start celery in the background so we can trap the TERM signal
20+
celery "$@" &
21+
celery_pid=$!
22+
wait "${celery_pid}"

dev/build/datatracker-start.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/bin/bash
2+
3+
echo "Running Datatracker checks..."
4+
./ietf/manage.py check
5+
6+
echo "Running Datatracker migrations..."
7+
./ietf/manage.py migrate --settings=settings_local
8+
9+
echo "Starting Datatracker..."
10+
./ietf/manage.py runserver 0.0.0.0:8000 --settings=settings_local

dev/build/start.sh

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,20 @@
11
#!/bin/bash
2-
3-
echo "Running Datatracker checks..."
4-
./ietf/manage.py check
5-
6-
echo "Running Datatracker migrations..."
7-
./ietf/manage.py migrate --settings=settings_local
8-
9-
echo "Starting Datatracker..."
10-
./ietf/manage.py runserver 0.0.0.0:8000 --settings=settings_local
2+
#
3+
# Environment config:
4+
#
5+
# CONTAINER_ROLE - datatracker, celery, or beat (defaults to datatracker)
6+
#
7+
case "${CONTAINER_ROLE:-datatracker}" in
8+
datatracker)
9+
exec ./datatracker-start.sh
10+
;;
11+
celery)
12+
exec ./celery-start.sh --app=ietf worker
13+
;;
14+
beat)
15+
exec ./celery-start.sh --app=ietf beat
16+
;;
17+
*)
18+
echo "Unknown role '${CONTAINER_ROLE}'"
19+
exit 255
20+
esac

0 commit comments

Comments
 (0)