Créer des workers et jobs asynchrones avec l'IA
Un prompt complet pour concevoir et implémenter des workers et jobs asynchrones avec file d'attente, retry, monitoring et déploiement.
Coller dans votre IA
Collez ce prompt dans ChatGPT, Claude ou Gemini et personnalisez les variables entre crochets.
Tu es un architecte logiciel spécialisé en systèmes distribués et traitement asynchrone. Conçois une architecture complète de workers et jobs asynchrones pour mon projet.
Contexte du projet :
- Langage/framework : [LANGAGE_ET_FRAMEWORK]
- Système de file d'attente souhaité : [SYSTEME_FILE_ATTENTE] (ex : Redis/BullMQ, RabbitMQ, SQS, Celery, Sidekiq, ou recommande-moi le plus adapté)
- Types de jobs à traiter : [TYPES_DE_JOBS] (ex : envoi d'emails, génération de rapports PDF, traitement d'images, synchronisation API tierce)
- Volume estimé : [VOLUME_ESTIME] jobs par heure
- Contraintes : [CONTRAINTES] (ex : temps max d'exécution, ordre garanti, idempotence requise)
Génère une architecture complète incluant :
- Structure du projet : organisation des fichiers pour les workers, jobs, et configuration
- Définition des jobs : classes/fonctions pour chaque type de job avec typage fort, validation des payloads, et sérialisation
- Configuration des queues : files d'attente séparées par priorité et type, avec configuration de concurrence
- Worker principal : code du worker avec gestion du cycle de vie (démarrage, arrêt gracieux, signaux SIGTERM/SIGINT)
- Mécanisme de retry : stratégie de retry avec backoff exponentiel, dead letter queue, et nombre max de tentatives
- Gestion des erreurs : try/catch structuré, logging contextuel, alerting sur échecs critiques
- Monitoring : métriques clés (jobs en attente, temps de traitement, taux d'échec), healthcheck endpoint
- Scheduling : jobs récurrents/cron avec configuration déclarative
- Tests : exemples de tests unitaires pour les jobs et tests d'intégration pour le workflow complet
- Déploiement : Dockerfile pour le worker, configuration de scaling horizontal, variables d'environnement
Pour chaque section, fournis le code complet et commenté, prêt à être utilisé en production. Explique les choix d'architecture et les compromis.
Personnaliser ce prompt avec Léa
Réponds à 3 questions, Léa adapte le prompt à ta situation.
Pourquoi ce prompt fonctionne
<p>Ce prompt vous permet de générer une architecture complète de traitement asynchrone adaptée à votre stack technique. En précisant votre <strong>langage et framework</strong>, le système de file d'attente et les types de jobs, l'IA produit du code production-ready couvrant l'ensemble du cycle de vie des jobs.</p><p>Les <strong>variables clés à personnaliser</strong> sont le système de file d'attente (BullMQ pour Node.js, Celery pour Python, Sidekiq pour Ruby) et les types de jobs spécifiques à votre métier. Le volume estimé permet à l'IA d'adapter la configuration de concurrence et les recommandations de scaling.</p><p>Le prompt couvre les aspects souvent négligés mais critiques en production : <strong>arrêt gracieux des workers</strong> pour éviter la perte de jobs, <strong>idempotence</strong> pour gérer les retry sans effets de bord, et <strong>dead letter queues</strong> pour isoler les jobs définitivement en échec. Utilisez-le comme point de départ puis itérez sur chaque section selon vos besoins.</p>
Cas d'usage
Résultat attendu
Une architecture complète avec code source structuré : définition des jobs typés, configuration des queues avec priorités, worker avec arrêt gracieux, mécanisme de retry avec backoff exponentiel, monitoring avec métriques, Dockerfile de déploiement, et exemples de tests.
Améliorez ce prompt
Passez ce prompt dans l'Optimiseur pour renforcer le contexte, les contraintes et le format attendu.
Améliore ce prompt avec l'OptimiseurCommentaires
Sois le premier à commenter ce prompt.
Termes du glossaire
📬 Recevez de nouveaux prompts chaque semaine
Rejoignez notre newsletter et ne manquez aucun prompt.
Pour aller plus loin
Prompts similaires
Prompt pour maîtriser les types avancés en TypeScript
Un prompt pour générer des types TypeScript avancés (generics, mapped types, conditional types) avec documentation et tests de types intégrés.
Test d'idées d'activation
Générer des idées d'expériences d'activation
Network policies pour micro-segmentation
Isoler les workloads avec des network policies
Stratégie de rollout progressif
Déploiement progressif d'un nouveau modèle