30 lines
981 B
Bash
30 lines
981 B
Bash
#!/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 "$@"
|