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:
@@ -272,6 +272,14 @@
|
||||
job: "docker compose -f /var/www/crm-siteconseil/docker-compose-prod.yml exec -T php php bin/console app:dns:check --env=prod >> /var/log/crm-siteconseil-dns-check.log 2>&1"
|
||||
user: bot
|
||||
|
||||
- name: Configure email tracking purge cron (daily at 5am)
|
||||
cron:
|
||||
name: "crm-siteconseil email-tracking purge"
|
||||
minute: "0"
|
||||
hour: "5"
|
||||
job: "docker compose -f /var/www/crm-siteconseil/docker-compose-prod.yml exec -T php php bin/console app:email-tracking:purge --env=prod >> /var/log/crm-siteconseil-email-purge.log 2>&1"
|
||||
user: bot
|
||||
|
||||
- name: Configure Cloudflare acme-challenge cleanup cron (daily at 6am)
|
||||
cron:
|
||||
name: "crm-siteconseil cloudflare clean"
|
||||
|
||||
Reference in New Issue
Block a user