0Pricing
Flask Academy · Lektion

Ergebnisse verfolgen und Fehler behandeln

Fragen Sie den Task-Status ab und wiederholen Sie ihn bei Fehlern.

Ergebnisse verfolgen und Fehler behandeln ist eine kostenlose Flask Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Flask Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Flask Academy-Kurs umfasst insgesamt 4 Lektionen.

Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.

The AsyncResult Handle

When you enqueue a task you get an AsyncResult. Save its id so you can check on the job from any later request.

job = add.delay(2, 3)
ticket = job.id

Check the State

Each job has a state like PENDING, STARTED, SUCCESS, or FAILURE. You read it to know whether the work is done.

res = add.AsyncResult(ticket)
print(res.state)

Read the Result

Once a job succeeds, its return value is stored in the backend. Access it through result on the AsyncResult.

if res.ready():
    print(res.result)

Poll, Do Not Block

In a web view, never call get() and wait. Instead return the task id and let the client poll a status endpoint.

A Status Endpoint

Expose a route that takes a task id and returns its state and result. The frontend hits it every few seconds until done.

@app.get("/status/<tid>")
def status(tid):
    r = add.AsyncResult(tid)
    return {"state": r.state}

Failures Happen

External calls time out and code raises errors. When a task throws, Celery marks it FAILURE and records the exception.

Automatic Retries

Make a task retry itself on transient errors. Set max_retries and a delay so flaky calls get a few more chances.

@celery.task(bind=True, max_retries=3)
def fetch(self):
    ...

Back Off Between Tries

Retrying instantly can hammer a struggling service. Use a growing delay, called backoff, so each retry waits longer.

Trigger a Retry

Inside the task, catch the error and call self.retry. Celery re-queues the job and counts it against max_retries.

try:
    do_work()
except Exception as e:
    self.retry(exc=e, countdown=5)

Set Time Limits

A stuck task should not run forever. A time limit kills tasks that overrun, freeing the worker for other jobs.

Result Expiry

Stored results take space. Celery expires old results after a while, so design clients to fetch them promptly. ⏱️

Quick Check

Your task calls a flaky external API.

Recap

Track jobs by id, poll a status endpoint for state and result, and handle failures with retries, backoff, and time limits. ✅

Häufig gestellte Fragen

Ist die Lektion „Ergebnisse verfolgen und Fehler behandeln“ kostenlos?

Ja — der vollständige Text von „Ergebnisse verfolgen und Fehler behandeln“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Flask Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Flask Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Ergebnisse verfolgen und Fehler behandeln“?

Fragen Sie den Task-Status ab und wiederholen Sie ihn bei Fehlern. Du übst Flask Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Flask Academy zu starten?

Keine Vorkenntnisse erforderlich. Flask Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Ergebnisse verfolgen und Fehler behandeln“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Flask Academy-Lektion Code schreiben und ausführen?

Ja. Jede Flask Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Warum Arbeit aus dem Request ausgelagert wird
  2. Celery in die App-Factory integrieren
  3. Eine Task definieren und aufrufen
  4. Ergebnisse verfolgen und Fehler behandeln
← Zurück zu Flask Academy