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:
20
backend/config/packages/messenger.yaml
Normal file
20
backend/config/packages/messenger.yaml
Normal file
@@ -0,0 +1,20 @@
|
||||
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
|
||||
Reference in New Issue
Block a user