Definiowanie i wywoływanie zadania
Napisz zadanie i uruchom je za pomocą delay.
Definiowanie i wywoływanie zadania to bezpłatna lekcja Flask Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Flask Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Flask Academy zawiera 4 lekcji w sumie.
Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.
What a Task Is
A Celery task is just a Python function marked so workers can run it later. You decorate it once and it becomes enqueueable.
The task Decorator
Mark a function with the Celery task decorator. Now it has extra methods like delay that schedule it onto the queue.
@celery.task
def add(x, y):
return x + yCall It Normally vs Queued
Calling add(2, 3) runs it right now in your process. To run it on a worker instead, you call its delay method.
Enqueue with delay
The delay shortcut puts the job on the broker and returns immediately. The work happens later on a worker.
add.delay(2, 3)apply_async for Options
Need more control like a countdown or queue name? Use apply_async, which takes args plus scheduling options.
add.apply_async(args=[2, 3], countdown=10)You Get an AsyncResult
Both delay and apply_async return an AsyncResult. It carries the task id you use to look up the result later.
job = add.delay(2, 3)
print(job.id)Arguments Must Serialize
Task arguments travel through the broker, so they must be serializable: use plain data like ints, strings, lists, and dicts.
Pass IDs, Not Objects
Do not send a database row to a task. Send its id instead, then re-fetch the object inside the task with a fresh session.
Enqueue Inside a View
A view validates input, enqueues the job, and returns a fast response. The user is not kept waiting for the slow part.
@app.post("/report")
def report():
add.delay(2, 3)
return {"status": "queued"}Name Tasks Clearly
Give tasks descriptive names like send_welcome_email. Clear names make logs and the broker dashboard far easier to read. 🔍
Keep Tasks Small
A good task does one clear job. Small, focused tasks are easier to retry, monitor, and reason about when something breaks.
Quick Check
You want a function to run on a worker.
Recap
Decorate a function as a task, call delay or apply_async to queue it, pass serializable args, and enqueue from thin views. ✅
Często zadawane pytania
Czy lekcja „Definiowanie i wywoływanie zadania” jest bezpłatna?
Tak — pełny tekst „Definiowanie i wywoływanie zadania” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Flask Academy, przejdź na CoddyKit PRO. Kurs Flask Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Definiowanie i wywoływanie zadania”?
Napisz zadanie i uruchom je za pomocą delay. Ćwiczysz Flask Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Flask Academy?
Nie wymagamy żadnego doświadczenia. Flask Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „Definiowanie i wywoływanie zadania”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Flask Academy?
Tak. Każda lekcja Flask Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Dlaczego warto przenieść pracę poza żądanie
- Podłączanie Celery do fabryki aplikacji
- Definiowanie i wywoływanie zadania
- Śledzenie wyników i obsługa błędów