Je vais créer un système de file d'attente de tâches asynchrones avec redis et fastapi


À propos de ce service
Traduction automatique
Je conçois des systèmes de file d'attente de tâches qui permettent à votre API d'accepter une requête instantanément et de traiter le travail lourd en
arrière-plan.
Architecture :
- Interface REST FastAPI : mise en file d'attente, vérification du statut, liste des tâches, annulation
- Redis LPUSH/BRPOP pour une livraison rapide et fiable des tâches
- Processus de worker qui évoluent horizontalement
- Persistance SQLite pour l'historique des tâches et le suivi du statut
- Modèle de stratégie pour des gestionnaires de tâches faciles à ajouter pour de nouveaux types de tâches
- Docker Compose pour le développement local et le déploiement en cloud
Exécutez docker compose up --scale worker=3 pour traiter les tâches en parallèle sans toucher à l'API.
Si Redis tombe en panne, l'API reste opérationnelle et enregistre les erreurs. Lorsque Redis revient, les workers se reconnectent
automatiquement.
Dites-moi votre cas d'utilisation et je vous répondrai dans l'heure.
Découvrez Federico M
Backend Engineer
- DeArgentine
- Membre depuisoct. 2022
- Temps de réponse moy.23 heures
Langues
Espagnol, Anglais
Traduction automatique
FAQ
Traduction automatique
Est-ce comme Celery ?
Concept similaire mais beaucoup plus simple. Ce système utilise directement Redis (LPUSH/BRPOP) sans la surcharge de Celery. Idéal pour la plupart des cas d'utilisation. Si vous avez besoin spécifiquement de Celery, je peux aussi le créer.
Les workers peuvent-ils évoluer indépendamment de l'API ?
Oui, les workers sont des processus séparés. Avec Docker Compose, vous exécutez docker compose up --scale worker=3 pour traiter les tâches en parallèle sans toucher à l'API.
Que se passe-t-il si Redis tombe en panne ?
L'API reste opérationnelle et enregistre les erreurs de manière appropriée. Lorsque Redis revient, les workers se reconnectent automatiquement et reprennent le traitement.

