feat: cache DNS report + purge EmailTracking + crons mis a jour

src/Controller/DnsReportController.php:
- Injection du pool cache dns_infra_cache via #[Autowire]
- Les resultats des checks sont caches avec la cle dns_infra_check_{token}
  pendant 1 heure (3600s) pour eviter de rappeler toutes les APIs
  (Cloudflare, AWS SES, Mailcow, RDAP, dig) a chaque rechargement
- La date du rapport est stockee dans le cache au format ISO 8601

config/packages/packages/cache.yaml:
- Nouveau pool dns_infra_cache sur Redis avec default_lifetime 3600s

src/Command/PurgeEmailTrackingCommand.php (nouveau):
- Commande app:email-tracking:purge qui supprime les EmailTracking
  dont sentAt est anterieur au seuil (90 jours par defaut)
- Option --days pour changer la retention (ex: --days=30)
- Utilise une requete DQL DELETE pour performance

ansible/deploy.yml.disabled:
- Nouveau cron "crm-siteconseil email-tracking purge": tous les jours
  a 5h du matin, supprime les EmailTracking de plus de 90 jours

docker/cron/entrypoint.sh:
- Liste complete des taches cron mise a jour avec:
  - */5 min: expire-pending, infra:snapshot
  - */15 min: services:check
  - toutes les heures: monitor:messenger
  - toutes les 2h: dns:check
  - toutes les 6h: stripe:sync
  - 3h: meilisearch consistency
  - 4h: attestations clean
  - 5h: email-tracking purge
  - 6h: cloudflare clean

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Serreau Jovann
2026-04-02 22:16:50 +02:00
parent c7a1c1b39f
commit 28b84f09d4
5 changed files with 117 additions and 31 deletions

View File

@@ -1,10 +1,15 @@
#!/bin/sh
echo "=== CRM SITECONSEIL Cron ==="
echo "Registered tasks:"
echo " - */5 * * * * app:orders:expire-pending"
echo " - 0 * * * * app:monitor:messenger"
echo " - 0 3 * * * app:meilisearch:check-consistency --fix"
echo " - 0 4 * * * app:attestations:clean"
echo " - */15 * * * app:services:check"
echo " - */5 * * * * app:orders:expire-pending"
echo " - 0 * * * * app:monitor:messenger"
echo " - 0 */2 * * app:dns:check"
echo " - 0 3 * * * app:meilisearch:check-consistency --fix"
echo " - 0 4 * * * app:attestations:clean"
echo " - 0 5 * * * app:email-tracking:purge"
echo " - 0 6 * * * app:cloudflare:clean"
echo " - 0 */6 * * app:stripe:sync"
echo " - */5 * * * * app:infra:snapshot"
echo " - */15 * * * * app:services:check"
echo "===================="
exec cron -f