Ich werde ein asynchrones Task-Queue-System mit Redis und FastAPI aufbauen


Über diesen Service
Automatische Übersetzung
Ich erstelle Task-Queue-Systeme, die es deiner API ermöglichen, eine Anfrage sofort anzunehmen und die schwere Arbeit im Hintergrund zu verarbeiten.
Architektur:
- FastAPI REST-Schnittstelle: Warteschlange, Status prüfen, Aufgaben auflisten, Abbrechen
- Redis LPUSH/BRPOP für schnelle und zuverlässige Aufgabenübermittlung
- Worker-Prozesse, die horizontal skalieren
- SQLite Persistenz für Aufgabenverlauf und Statusverfolgung
- Strategy-Pattern für Aufgabenhandler, um neue Aufgabentypen einfach hinzuzufügen
- Docker Compose für lokale Entwicklung und Cloud-Bereitstellung
Führe docker compose up --scale worker=3 aus, um Aufgaben parallel zu verarbeiten, ohne die API zu berühren.
Wenn Redis ausfällt, bleibt die API aktiv und protokolliert Fehler. Wenn Redis wieder online ist, reconnecten die Worker automatisch.
Sag mir deinen Anwendungsfall und ich antworte innerhalb von 1 Stunde.
Lerne Federico M kennen
Backend Engineer
- AusArgentinien
- Mitglied seitOkt. 2022
- ⌀ Antwortzeit23 Stunden
Sprachen
Spanisch, Englisch
Automatische Übersetzung
FAQ
Automatische Übersetzung
Ist das wie Celery?
Ähnliches Konzept, aber viel einfacher. Dieses System nutzt Redis direkt (LPUSH/BRPOP) ohne den Celery-Overhead. Perfekt für die meisten Anwendungsfälle. Wenn du speziell Celery brauchst, kann ich das auch bauen.
Können die Worker unabhängig von der API skalieren?
Ja, die Worker sind separate Prozesse. Mit Docker Compose kannst du docker compose up --scale worker=3 ausführen, um Aufgaben parallel zu verarbeiten, ohne die API zu berühren.
Was passiert, wenn Redis ausfällt?
Die API bleibt aktiv und protokolliert Fehler elegant. Wenn Redis wieder online ist, reconnecten die Worker automatisch und setzen die Verarbeitung fort.

