Concevoir un système de tâches en arrière-plan avec files et workers
Concevez files et workers pour vos tâches asynchrones : choix technique, jobs idempotents, relances par type d’erreur, priorités, limites de concurrence, outbox et supervision. Conçu pour ChatGPT, Claude, Gemini et Microsoft Copilot. Il comprend 4 variables personnalisables et vous pouvez le copier gratuitement en un clic.
Avancé · Texte · En attente de relecture éditoriale
Prompt
Agis comme un architecte logiciel expérimenté en traitement asynchrone et en systèmes de files.
Je veux sortir des requêtes web le travail lourd ou lent de mon application.
- Tâches à passer en arrière-plan : {{taches}}
- Volume et pics attendus : {{volume}}
- Stack actuelle : {{stack}}
- Infrastructure et contraintes : {{infrastructure}}
Livrables :
1. Une classification de chaque tâche : urgence, durée typique, appel ou non à des services externes, possibilité de l’exécuter deux fois sans effet de bord, conséquences si elle est perdue.
2. Les options techniques (file en base de données, Redis ou broker de messages) avec avantages, inconvénients et coût d’exploitation pour mon cas, sans chiffres de performance inventés. Une recommandation argumentée.
3. La conception des jobs : charge utile minimale (identifiants, pas d’objets complets), idempotence par clés ou contrôle d’état, timeouts et versionnage du format des messages.
4. Une politique de relance par type d’erreur (transitoire, limite de débit d’un tiers, données invalides, bug), backoff avec jitter, et file des messages en échec avec une procédure pour les examiner et les rejouer.
5. Des files séparées et des priorités, la concurrence par file et des limites de débit pour les API externes.
6. La cohérence entre base et file : modèle outbox ou mise en file après commit, et pourquoi ne pas mettre en file dans une transaction ouverte.
7. Les tâches planifiées : comment éviter les exécutions en double avec plusieurs workers.
8. Les déploiements et l’arrêt propre : le sort des jobs en cours.
9. La supervision : métriques (profondeur de file, âge du plus vieux job, taux d’erreur, durée), alertes et tableaux de bord.
10. Un plan de migration par étapes depuis la situation actuelle.
Contraintes :
- S’il manque des informations sur le volume, la tolérance au délai ou l’infrastructure, demande-les d’abord ou indique [À COMPLÉTER].
- Privilégie l’option la plus simple qui répond au besoin et explique quand il faudrait en changer.
- Inclus un schéma textuel du flux complet.Comment l'utiliser
- Listez les tâches lentes actuelles et leur durée dans la requête.
- Indiquez l’infrastructure que vous savez réellement exploiter (Redis déjà en place ou seulement une base de données).
- Commencez par déplacer une seule tâche, ajoutez les métriques, puis migrez le reste.
Exemple d'utilisation
Tâches : envoi d’e-mails, génération de factures PDF, synchronisation des commandes avec l’ERP · 20 000 jobs par jour, pics pendant les soldes · Stack : Laravel avec MySQL · Un serveur, Redis disponible.
Exemple de résultat
1. Classement des tâches
| Tâche | Urgence | Durée typique | Service externe | Rejouable ? | Si perdue… |
|---|---|---|---|---|---|
| E-mail transactionnel | Haute (secondes) | Courte | Oui (SMTP/API) | Pas sans clé d’idempotence | Le client ne reçoit pas sa confirmation |
| Facture PDF | Moyenne (minutes) | Moyenne, gourmande en CPU | Non | Oui, si elle écrase le même fichier | Régénérée |
| Synchro ERP | Moyenne | Variable | Oui, avec quotas | Seulement après vérification d’état | Commandes désynchronisées |
2. Recommandation
Files Laravel sur Redis + Horizon. Redis est déjà là, aucun composant supplémentaire à exploiter, et Horizon fournit tableaux de bord et retries sans effort. Un broker dédié ne se justifierait qu’avec plusieurs consommateurs indépendants ou des garanties de livraison plus strictes.
5. Files et concurrence
emails— priorité haute, plusieurs workers.factures— peu de workers pour ne pas saturer le CPU du serveur unique.erp— 1 à 2 workers etRateLimitedcalé sur le quota de l’ERP → [À COMPLÉTER].
Diagramme
Requête → DB::transaction → outbox / afterCommit → Redis
→ Horizon (emails | factures | erp) → retries avec backoff → failed_jobs
Avec une équipe de deux personnes sans astreinte, les alertes vont dans un canal consulté aux heures ouvrées, sauf « file d’e-mails bloquée », qui mérite une notification immédiate…
Informations clés
- Catégorie
- Programmation et développement · Architecture logicielle
- Type de résultat
- Texte
- Niveau
- Avancé
- Conçu pour
- ChatGPT, Claude, Gemini et Microsoft Copilot
- Vérifié sur
- En attente de vérification éditoriale
- Variables
- Tâches en arrière-plan, Volume et pics, Stack actuelle et Infrastructure et contraintes
- Langue
- Français
- Prix
- Gratuit, sans inscription
- Mis à jour
- 07/11/2026
Questions fréquentes
Qu’est-ce que le modèle outbox et pourquoi le recommander ?
On écrit le message dans une table, dans la même transaction que les données métier, puis on le publie ensuite. On évite ainsi un job pour une donnée jamais enregistrée, ou une donnée enregistrée sans son job.
Une file en base de données suffit-elle ?
Pour des volumes modérés, souvent oui, sans infrastructure supplémentaire. Quand la file concurrence les requêtes de l’application ou qu’il faut beaucoup de concurrence, mieux vaut passer à Redis ou à un broker.
À quoi sert ce prompt ?
Concevez files et workers pour vos tâches asynchrones : choix technique, jobs idempotents, relances par type d’erreur, priorités, limites de concurrence, outbox et supervision.
Avec quels outils d'IA fonctionne-t-il ?
Il est conçu pour ChatGPT, Claude, Gemini et Microsoft Copilot. Nous ne l'avons pas encore vérifié sur ces outils ; les résultats peuvent donc varier de l'un à l'autre.
Comment personnaliser le prompt ?
Cliquez sur « Personnaliser » et remplissez les variables (Tâches en arrière-plan, Volume et pics, Stack actuelle et Infrastructure et contraintes). Le texte se met à jour instantanément et vous pouvez ensuite le copier en un clic. Les valeurs sont stockées uniquement dans votre navigateur.
Faut-il de l'expérience pour l'utiliser ?
Il est de niveau avancé : il s'adresse aux personnes expérimentées dans le domaine, capables d'évaluer et d'ajuster le résultat.
Ce prompt est-il gratuit ?
Oui. Tous les prompts de HomeCasa Prompts sont gratuits, sans inscription ni abonnement. Vous pouvez aussi les utiliser dans des projets professionnels.
Puis-je me fier au résultat de l'IA ?
Considérez-le comme un brouillon de qualité : vérifiez toujours les données, les chiffres et les affirmations importantes avant de publier ou de prendre des décisions.