Lange oder unzuverlässige Arbeiten gehören nicht in den Request-Prozess. E-Mail-Versand, Berichte, Importe und Fremdsystemaufrufe werden deshalb als eigenständige, wiederholbare Aufgaben über eine Queue verarbeitet.
Das Seminar integriert Celery in die Application Factory und behandelt Task-Schnittstellen, Retries, Idempotenz, Zeitplanung, Workflows und den Betrieb mehrerer Worker.
Inhaltsübersicht
- Celery-Integration und Brokeranbindung
- Task-Schnittstellen und Zustandsmodell
- Retries, Idempotenz und Fehlerpfade
- Zeitplanung, Workflows und Task-Ketten
- Queue-Betrieb, Monitoring und Kapazität
- Application Factory und mehrfache Instanzen
- Metriken, Tracing und Anwendungsdiagnose
- Praxisprojekt und Wissenssicherung
Lernziele
- Celery factory-tauglich mit Flask integrieren.
- Stabile, serialisierbare Task-Schnittstellen entwerfen.
- Retries und Idempotenz gegen doppelte Verarbeitung absichern.
- Zeitpläne und mehrstufige Workflows nachvollziehbar modellieren.
- Queues und Worker anhand geeigneter Metriken betreiben.
Zielgruppe
Flask- und Backend-Entwickler, Integrations- und Betriebsteams mit zeitaufwendigen, geplanten oder entkoppelten Arbeitsabläufen.
Voraussetzungen
Gute Flask- und Python-Kenntnisse sowie Grundverständnis von Prozessen, Netzwerken und persistenten Daten.
Seminarinhalte
1. Celery-Integration und Brokeranbindung
Hintergrundverarbeitung wird an die Application Factory angebunden und vom Request-Prozess entkoppelt.
- Schritt 1: Broker, Ergebnisbackend und Serialisierung nach Betriebsanforderung auswählen.
- Schritt 2: Celery-App in create_app initialisieren und Anwendungskontext für Tasks bereitstellen.
- Schritt 3: Worker und Scheduler mit getrennten Konfigurationen starten.
- Schritt 4: Verbindungsabbruch, Neustart und fehlerhafte Brokerkonfiguration testen.
2. Task-Schnittstellen und Zustandsmodell
Aufgaben werden klein, serialisierbar und unabhängig von flüchtigem Request-Zustand entworfen.
- Schritt 1: Nur stabile Kennungen und primitive Daten statt ORM-Objekte an Tasks übergeben.
- Schritt 2: Task-Eingaben validieren und benötigte Daten innerhalb des Tasks erneut laden.
- Schritt 3: Status, Fortschritt und Ergebnis nur bei fachlichem Bedarf speichern.
- Schritt 4: Task separat ohne laufenden Webserver testen.
3. Retries, Idempotenz und Fehlerpfade
Wiederholungen werden gezielt auf vorübergehende Fehler begrenzt und verursachen keine doppelten Seiteneffekte.
- Schritt 1: Temporäre, dauerhafte und fachliche Fehler in getrennte Kategorien einordnen.
- Schritt 2: Exponentielles Backoff, Jitter und maximale Versuche konfigurieren.
- Schritt 3: Idempotenzschlüssel oder Zustandsprüfungen für verändernde Tasks implementieren.
- Schritt 4: Doppelte Zustellung, Workerabbruch und erschöpfte Retries automatisiert prüfen.
4. Zeitplanung, Workflows und Task-Ketten
Wiederkehrende und mehrstufige Abläufe werden mit klarer Reihenfolge und Fehlerstrategie modelliert.
- Schritt 1: Periodische Aufgaben mit Zeitzone und eindeutiger Zuständigkeit planen.
- Schritt 2: Ketten, Gruppen und Akkorde nur für nachvollziehbare Abhängigkeiten einsetzen.
- Schritt 3: Teilresultate, Abbruch und Kompensation mehrstufiger Abläufe festlegen.
- Schritt 4: Zeitplanänderungen und parallele Ausführung gegen Doppelverarbeitung absichern.
5. Queue-Betrieb, Monitoring und Kapazität
Warteschlangen werden nach Priorität, Laufzeit und Fehlerverhalten beobachtet und dimensioniert.
- Schritt 1: Queues nach Arbeitsart und Priorität trennen, ohne unnötige Fragmentierung.
- Schritt 2: Wartelänge, Laufzeit, Fehlerrate und Retry-Anteil als Metriken erfassen.
- Schritt 3: Dead-Letter- beziehungsweise Fehlerablage und kontrollierte Wiederaufnahme definieren.
- Schritt 4: Workerzahl und Vorabruf anhand gemessener Last einstellen.
6. Application Factory und mehrfache Instanzen
Die Anwendung wird in einer Fabrikfunktion zusammengesetzt, damit Konfiguration, Tests und Varianten beherrschbar bleiben.
- Schritt 1: create_app mit klarer Reihenfolge für Konfiguration, Erweiterungen, Blueprints und Hooks aufbauen.
- Schritt 2: Testkonfiguration als Mapping übergeben und Dateizugriffe während des Imports vermeiden.
- Schritt 3: Mehrere Anwendungsinstanzen mit getrennten Einstellungen innerhalb eines Prozesses erzeugen.
- Schritt 4: Factory-Erkennung über die Flask-Kommandozeile und Produktionsserver prüfen.
7. Metriken, Tracing und Anwendungsdiagnose
Latenz, Durchsatz, Fehler und Abhängigkeiten werden messbar gemacht, ohne unnötige Kardinalität zu erzeugen.
- Schritt 1: Golden Signals und fachliche Kennzahlen für die Anwendung festlegen.
- Schritt 2: Metriken an Request-Grenzen und kritischen Services erfassen.
- Schritt 3: Trace-Kontext über HTTP-, Datenbank- und Queue-Grenzen weitergeben.
- Schritt 4: Dashboards anhand realer Betriebsfragen statt dekorativer Diagramme strukturieren.
Praxisprojekt
Ein bislang blockierender Export wird als Hintergrundtask umgesetzt. Es folgen kontrollierte Wiederholungen, Fortschrittsstatus, ein periodischer Lauf, ein mehrstufiger Workflow und die Auswertung von Queue- und Worker-Metriken.
Methodik
Kurze fachliche Einordnungen wechseln mit Demonstrationen, geführten Umsetzungen, Fehleranalysen und eigenständigen Übungen. Jede größere Änderung wird durch einen Test, eine Diagnose oder eine betriebliche Prüfroutine abgesichert. Die Arbeitsstände werden schrittweise zu einem durchgängigen Beispielprojekt zusammengeführt.
Fachbereichsleitung / Trainerteam / Ansprechpartner
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de
Seminardetails
| Dauer: | 2 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage: 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 1.198 zzgl. MwSt. Inhaus: € 3.400 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Flask- und Backend-Entwickler, Integrations- und Betriebsteams mit zeitaufwendigen, geplanten oder entkoppelten Arbeitsabläufen. |
| Voraussetzungen: | Gute Flask- und Python-Kenntnisse sowie Grundverständnis von Prozessen, Netzwerken und persistenten Daten. |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Demonstrationen, praktische Übungen am System |
| Seminararten: | Öffentlich, Webinar, Inhaus, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
