- 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>
21 lines
740 B
YAML
21 lines
740 B
YAML
framework:
|
|
messenger:
|
|
transports:
|
|
# Transport du scheduler — traité en synchrone dans le worker scheduler_main
|
|
scheduler_main:
|
|
dsn: 'scheduler://main'
|
|
|
|
# Transport async Redis pour les messages lourds (ingestion)
|
|
async:
|
|
dsn: '%env(REDIS_URL)%'
|
|
options:
|
|
stream: rs971_async
|
|
retry_strategy:
|
|
max_retries: 3
|
|
delay: 60000 # 1 min entre chaque retry
|
|
multiplier: 2
|
|
|
|
routing:
|
|
# L'ingestion planifiée tourne dans le worker async (pas dans le worker scheduler)
|
|
App\Message\IngestionScheduleMessage: async
|