#!/bin/sh set -e # Warmup du cache Symfony au démarrage php bin/console cache:warmup --env=prod --no-debug 2>&1 || true # Génère les tiles depuis les données existantes (protection contre redémarrage sans tiles) php bin/console app:generate-tiles --env=prod --no-debug 2>&1 || true # Boucle de supervision : relance le worker automatiquement après --time-limit ou crash. _supervise() { name="$1"; shift while true; do echo "$(date -u +%Y-%m-%dT%H:%M:%SZ) [worker:${name}] starting" "$@" 2>&1 || true echo "$(date -u +%Y-%m-%dT%H:%M:%SZ) [worker:${name}] stopped — restart in 5s" sleep 5 done } _supervise scheduler \ php bin/console messenger:consume scheduler_main \ --env=prod --no-debug --memory-limit=64M --time-limit=3600 & _supervise async \ php bin/console messenger:consume async \ --env=prod --no-debug --memory-limit=256M --time-limit=3600 & exec frankenphp run --config /etc/caddy/Caddyfile "$@"