Costruirò un sistema di coda di task asincroni con redis e fastapi


Informazioni su questo servizio
Traduzione automatica.
Costruisco sistemi di coda di task che permettono alla tua API di accettare una richiesta istantaneamente e di processare il lavoro pesante in
background.
Architettura:
- Interfaccia REST di FastAPI: enqueue, verifica stato, elenco task, cancellazione
- Redis LPUSH/BRPOP per consegna rapida e affidabile dei task
- Processi worker che scalano orizzontalmente
- Persistenza SQLite per la cronologia dei task e il monitoraggio dello stato
- Pattern strategia per gestori di task facili da aggiungere per nuovi tipi di task
- Docker Compose per sviluppo locale e deployment in cloud
Esegui docker compose up --scale worker=3 per processare i task in parallelo senza toccare l'API.
Se Redis si blocca, l'API rimane attiva e registra gli errori. Quando Redis torna online, i worker si riconnettono automaticamente.
Dimmi il tuo caso d'uso e ti risponderò entro 1 ora.
Scopri di più su Federico M
Backend Engineer
- DaArgentina
- Membro daott 2022
- Tempo di risposta medio23 ore
Lingue
Spagnolo, Inglese
Traduzione automatica.
FAQ
Traduzione automatica.
È come Celery?
Concetto simile ma molto più semplice. Questo sistema usa Redis direttamente (LPUSH/BRPOP) senza l'overhead di Celery. Ottimo per la maggior parte dei casi d'uso. Se hai bisogno specifico di Celery, posso anche costruirlo.
I worker possono scalare indipendentemente dall'API?
Sì, i worker sono processi separati. Con Docker Compose puoi eseguire docker compose up --scale worker=3 per processare i task in parallelo senza toccare l'API.
Cosa succede se Redis si blocca?
L'API rimane attiva e registra gli errori in modo elegante. Quando Redis torna online, i worker si riconnettono automaticamente e riprendono il processamento.

