public
nobgit
read
NobMail
Based on mailcow: dockerized
Languages
Repository composition by tracked source files.
PHP
49%
JavaScript
35%
HTML
9%
CSS
4%
Shell
2%
Python
1%
Lua
0%
Perl
0%
Ruby
0%
SCSS
0%
Create file
Wiki Documentation
Clone
https://nobgit.com/orgs/nobgit/nobmail.git
ssh://[email protected]:2222/orgs/nobgit/nobmail.git
Commit
[Watchdog] Fix kill -0 check, use tini and send kill request to tini instead of parent pid, sleep longer
ac413058
data/Dockerfiles/watchdog/Dockerfile | 3 ++-
data/Dockerfiles/watchdog/tini | Bin 0 -> 19968 bytes
data/Dockerfiles/watchdog/watchdog.sh | 7 +++----
3 files changed, 5 insertions(+), 5 deletions(-)
create mode 100755 data/Dockerfiles/watchdog/tini
Diff
diff --git a/data/Dockerfiles/watchdog/Dockerfile b/data/Dockerfiles/watchdog/Dockerfile
index 457169de..9eb88335 100644
--- a/data/Dockerfiles/watchdog/Dockerfile
+++ b/data/Dockerfiles/watchdog/Dockerfile
@@ -1,5 +1,4 @@
FROM alpine:3.6
-
LABEL maintainer "André Peters <[email protected]>"
# 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
diff --git a/data/Dockerfiles/watchdog/tini b/data/Dockerfiles/watchdog/tini
new file mode 100755
index 00000000..6556c966
Binary files /dev/null and b/data/Dockerfiles/watchdog/tini differ
diff --git a/data/Dockerfiles/watchdog/watchdog.sh b/data/Dockerfiles/watchdog/watchdog.sh
index 03b2b4fb..470025de 100755
--- a/data/Dockerfiles/watchdog/watchdog.sh
+++ b/data/Dockerfiles/watchdog/watchdog.sh
@@ -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
) &