Aller au contenu principal

Jobs et queues

Statut

Document de cadrage backend — version initiale.

Rôle

Les jobs et queues servent à sortir des requêtes HTTP les traitements longs, répétitifs ou coûteux.

Ils sont essentiels pour conserver une API rapide et fiable.

État actuel visible

Jobs visibles :

  • ExpireBoosts
  • ExpireAlertes
  • ProcessStripeWebhook

Le scheduler Laravel exécute ExpireBoosts et ExpireAlertes toutes les heures dans api/bootstrap/app.php.

La configuration Supervisor visible cible des workers Laravel avec Redis :

  • file default ;
  • file mail.

Cas d'usage cibles

DomaineJobs possibles
BoostsExpiration, activation, reporting.
Alertes mairieExpiration, notifications, diffusion PlayLoop.
NotificationsEmails, push, relances.
MédiasCompression, variantes, nettoyage.
IAGénérations longues, modération assistée, batchs.
StatistiquesAgrégation, consolidation, export.
SynchronisationsImports, rebuild, propagation inter-apps.
StripeWebhooks, retries, logs.

Règles de conception

  • Un job doit être idempotent quand possible.
  • Un job doit avoir un timeout cohérent.
  • Un job doit journaliser les erreurs utiles.
  • Les retries doivent être adaptés au risque.
  • Les traitements critiques doivent éviter les files saturées.
  • Les jobs ne doivent pas contourner les droits métier.

Files cibles

default et mail sont visibles. D'autres files relèvent de la vision cible :

  • notifications
  • media
  • ai
  • analytics
  • critical

Points à clarifier

  • Backend queue réel par environnement.
  • Politique dead-letter.
  • Monitoring des workers.
  • Priorité des alertes mairie.
  • Stratégie de replay des jobs échoués.