[Watchdog] Fix kill -0 check, use tini and send kill request to tini instead of parent pid, sleep longer
parent
c5dd30b058
commit
ac413058c1
|
@ -1,5 +1,4 @@
|
|||
FROM alpine:3.6
|
||||
|
||||
LABEL maintainer "André Peters <andre.peters@servercow.de>"
|
||||
|
||||
# Installation
|
||||
|
@ -23,10 +22,12 @@ RUN apk add --update \
|
|||
perl-socket6 \
|
||||
perl-mime-lite \
|
||||
perl-term-readkey \
|
||||
tini \
|
||||
&& curl https://raw.githubusercontent.com/mludvig/smtp-cli/v3.8/smtp-cli -o /smtp-cli \
|
||||
&& chmod +x smtp-cli
|
||||
|
||||
COPY watchdog.sh /watchdog.sh
|
||||
|
||||
ENTRYPOINT ["/sbin/tini", "-g", "--"]
|
||||
# Less verbose
|
||||
CMD /watchdog.sh 2> /dev/null
|
||||
|
|
Binary file not shown.
|
@ -2,7 +2,6 @@
|
|||
|
||||
trap "exit" INT TERM
|
||||
trap "kill 0" EXIT
|
||||
PARENT_PID=$$
|
||||
|
||||
# Prepare
|
||||
BACKGROUND_TASKS=()
|
||||
|
@ -351,12 +350,12 @@ BACKGROUND_TASKS+=($!)
|
|||
(
|
||||
while true; do
|
||||
for bg_task in ${BACKGROUND_TASKS[*]}; do
|
||||
if ! kill -0 ${bg_task} 21>&2; then
|
||||
if ! kill -0 ${bg_task} 1>&2; then
|
||||
echo "Worker ${bg_task} died, stopping watchdog and waiting for respawn..."
|
||||
log_to_redis "Worker ${bg_task} died, stopping watchdog and waiting for respawn..."
|
||||
kill -TERM ${PARENT_PID}
|
||||
kill -TERM 1
|
||||
fi
|
||||
sleep 1
|
||||
sleep 10
|
||||
done
|
||||
done
|
||||
) &
|
||||
|
|
Loading…
Reference in New Issue