feat: ingestion automatique toutes les 6h + indicateur fraîcheur UI

- Symfony Scheduler (MainSchedule) : cron 0,6,12,18h UTC
- IngestionScheduleMessage + IngestionScheduleHandler : pipeline complet
  ingestion → forecasts → impact scores pour toutes les zones Antilles
- messenger.yaml : transport scheduler_main + async Redis (rs971_async)
- entrypoint.sh : 2 workers en background (scheduler_main + async)
- GET /api/status : date/heure de la dernière observation
- SargassesMap : badge "Données du JJ/MM à HH:MM" en bas à gauche

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Gwadaking
2026-04-03 22:31:58 -04:00
parent 55caca001c
commit 48e6e5060c
9 changed files with 223 additions and 0 deletions

View File

@@ -4,5 +4,15 @@ set -e
# Warmup du cache Symfony au démarrage (les vars d'env sont disponibles ici)
php bin/console cache:warmup --env=prod --no-debug 2>&1 || true
# Worker scheduler — réveille le pipeline toutes les 6h
php bin/console messenger:consume scheduler_main \
--env=prod --no-debug --memory-limit=64M \
2>&1 | tee -a var/log/scheduler.log &
# Worker async — exécute les messages d'ingestion déclenchés par le scheduler
php bin/console messenger:consume async \
--env=prod --no-debug --memory-limit=256M \
2>&1 | tee -a var/log/worker.log &
# Lance FrankenPHP (comportement par défaut de l'image de base)
exec frankenphp run --config /etc/caddy/Caddyfile "$@"