Handle stop signals from Docker in the scheduler

This commit is contained in:
Théophile Diot 2022-12-07 11:16:52 +01:00
parent c49f50da2a
commit ec15a4e88a
No known key found for this signature in database
GPG Key ID: E752C80DB72BB014
1 changed files with 18 additions and 1 deletions

View File

@ -2,10 +2,22 @@
. /usr/share/bunkerweb/helpers/utils.sh
# trap SIGTERM and SIGINT
function trap_exit() {
log "ENTRYPOINT" " " "Catched stop operation"
if [ -f "/var/tmp/bunkerweb/scheduler.pid" ] ; then
log "ENTRYPOINT" " " "Stopping job scheduler ..."
kill -s TERM "$(cat /var/tmp/bunkerweb/scheduler.pid)"
fi
}
trap "trap_exit" TERM INT QUIT
if [ -f /var/tmp/bunkerweb/scheduler.pid ] ; then
rm -f /var/tmp/bunkerweb/scheduler.pid
fi
log "ENTRYPOINT" "" "Starting the job scheduler v$(cat /usr/share/bunkerweb/VERSION) ..."
# setup and check /data folder
/usr/share/bunkerweb/helpers/data.sh "ENTRYPOINT"
@ -29,7 +41,12 @@ fi
# execute jobs
log "ENTRYPOINT" " " "Executing scheduler ..."
/usr/share/bunkerweb/scheduler/main.py
/usr/share/bunkerweb/scheduler/main.py &
pid="$!"
wait "$pid"
while [ -f /var/tmp/bunkerweb/scheduler.pid ] ; do
wait "$pid"
done
log "ENTRYPOINT" " " "Scheduler stopped"
exit 0