From c2d8697a2d944ccdbb1c6be68d20fcdff2550e25 Mon Sep 17 00:00:00 2001 From: Johan Bloemberg Date: Tue, 12 Mar 2024 11:49:39 +0100 Subject: [PATCH] Add cron with docker socket to restart nassl worker every hour --- docker/docker-compose.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index b8e499bc4..7752e9c7f 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -320,6 +320,23 @@ services: command: celery --app internetnl worker --without-gossip --pool=eventlet --time-limit=300 --concurrency=$WORKER_CONCURRENCY --queues nassl_worker + # cron daemon with access to Docker socket to restart worker-nassl periodically to solve memory issues + restart-nassl-worker: + image: alpinelinux/docker-cli:latest + command: crond -f -d7 + configs: + - source: restart_nassl_worker_cron + target: /etc/periodic/hourly/restart_nassl_worker + mode: 0755 + restart: unless-stopped + logging: + driver: $LOGGING_DRIVER + options: + tag: '{{.Name}}' + network_mode: "none" + volumes: + - /var/run/docker.sock:/var/run/docker.sock + # worker for slow and long running tasks that could require a lot of memory (eg: hof update) worker-slow: # copy all attributes from 'worker' service and overwrite specific settings below @@ -882,6 +899,12 @@ configs: } + restart_nassl_worker_cron: + content: | + #!/bin/sh + set -e + # find nassl worker and restart the container + docker restart $(docker ps --filter label=com.docker.compose.service=worker-nassl --quiet) networks: # disable default network