Queues et jobs
Statut
Document de cadrage architecture — version initiale.
Objectif
Les queues et jobs doivent absorber les traitements asynchrones afin de garder l'API réactive.
Ils sont essentiels pour les tâches longues, répétitives, coûteuses ou déclenchées en arrière-plan.
État actuel visible
Le workspace montre :
- un scheduler Laravel configuré dans
api/bootstrap/app.php; - deux jobs planifiés :
ExpireBoostsetExpireAlertestoutes les heures ; - un fichier
deployment/crontab.txtexécutantartisan schedule:runchaque minute ; - une configuration Supervisor avec workers Laravel
queue:work redis; - une file
defaultet une filemaildansdeployment/supervisor.conf.
Cas d'usage jobs
| Domaine | Exemples |
|---|---|
| Monétisation | Expiration des boosts, webhooks Stripe, logs. |
| Mairie | Expiration des alertes, notifications citoyennes. |
| Notifications | Emails, push, invitations, messages. |
| Médias | Compression, génération de variantes, traitement documents. |
| IA | Générations longues, modération assistée, batchs de résumé. |
| Statistiques | Agrégation, nettoyage, consolidation. |
| Synchronisations | Imports, rebuild, propagation inter-apps. |
| PlayLoop | Préparation de playlists, campagnes, contrôle devices. |
Files recommandées cible
| File | Usage |
|---|---|
default | Jobs courants. |
mail | Emails et invitations. |
media | Traitements fichiers. |
notifications | Push et alertes. |
ai | Requêtes IA longues ou coûteuses. |
analytics | Agrégations statistiques. |
critical | Tâches courtes et importantes, à définir avec prudence. |
Les files au-delà de default et mail relèvent de la vision cible.
Principes
- Ne pas bloquer une requête HTTP pour un traitement long.
- Isoler les jobs lourds des jobs critiques.
- Définir retries, timeout et dead-letter.
- Journaliser les erreurs.
- Rendre les jobs idempotents quand possible.
- Surveiller la taille et l'âge des files.
Risques et points à clarifier
- Backend Redis à confirmer selon environnement réel.
- Politique de retry par type de job à définir.
- Dead-letter et replay à documenter.
- Monitoring des workers à mettre en place.
- Priorisation des alertes mairie et notifications à cadrer.