From 4acb2e43861976dc447377ca22168fa3e04a0eb1 Mon Sep 17 00:00:00 2001 From: MrAnyx Date: Fri, 3 Jan 2025 12:45:48 +0000 Subject: [PATCH] fix: Replace systemd with supervisor for managing messenger worker service --- .docker/entrypoint.prod.sh | 6 ++---- .docker/messenger-worker.conf | 17 +++++++++++++++++ .docker/messenger-worker.service | 10 ---------- Dockerfile | 4 ++-- 4 files changed, 21 insertions(+), 16 deletions(-) create mode 100644 .docker/messenger-worker.conf delete mode 100644 .docker/messenger-worker.service diff --git a/.docker/entrypoint.prod.sh b/.docker/entrypoint.prod.sh index 29b1583..619c5c4 100644 --- a/.docker/entrypoint.prod.sh +++ b/.docker/entrypoint.prod.sh @@ -5,10 +5,8 @@ set -e echo "Running database migrations..." php bin/console doctrine:migrations:migrate --no-interaction --allow-no-migration -# Enable and start the worker -systemctl --user daemon-reload -systemctl --user enable messenger-worker -systemctl --user start messenger-worker +# Update and start supervisor service +echo "Starting supervisor..." # Start Apache server echo "Starting Apache..." diff --git a/.docker/messenger-worker.conf b/.docker/messenger-worker.conf new file mode 100644 index 0000000..cf75c88 --- /dev/null +++ b/.docker/messenger-worker.conf @@ -0,0 +1,17 @@ +[supervisord] +nodaemon=true +logfile=/dev/null +logfile_maxbytes=0 + +[program:messenger-consume] +command=php /var/www/html/bin/console messenger:consume async --time-limit=3600 +user=root +numprocs=2 +startsecs=0 +autostart=true +autorestart=true +startretries=10 +process_name=%(program_name)s_%(process_num)02d +stdout_logfile=/dev/fd/1 +stdout_logfile_maxbytes=0 +redirect_stderr=true diff --git a/.docker/messenger-worker.service b/.docker/messenger-worker.service deleted file mode 100644 index 092e7a7..0000000 --- a/.docker/messenger-worker.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Symfony messenger-consume %i - -[Service] -ExecStart=php /var/www/html/bin/console messenger:consume async --time-limit=3600 -Restart=always -RestartSec=30 - -[Install] -WantedBy=default.target diff --git a/Dockerfile b/Dockerfile index 3f09b2d..06fbe87 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ FROM php:8.3.15-apache AS base -RUN apt-get update && apt-get install -y systemd +RUN apt-get update && apt-get install -y supervisor WORKDIR /var/www/html ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/ RUN install-php-extensions intl @@ -24,7 +24,7 @@ ENV APP_ENV=prod ENV APP_DEBUG=0 RUN cp $PHP_INI_DIR/php.ini-production $PHP_INI_DIR/php.ini COPY . . -COPY ./.docker/messenger-worker@.service /etc/systemd/user +COPY ./.docker/supervisord.conf /etc/supervisor/conf.d/supervisord.conf ADD --chmod=0755 ./.docker/entrypoint.prod.sh /usr/local/bin/entrypoint.sh RUN composer install --no-dev --optimize-autoloader --no-interaction RUN php bin/console cache:clear && php bin/console cache:warmup