0Pricing
Flask Academy · บทเรียน

กำหนดและเรียกใช้งาน

เขียนงานและส่งงานด้วย delay

กำหนดและเรียกใช้งาน เป็นบทเรียน Flask Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Flask Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Flask Academy มีบทเรียนทั้งหมด 4 บทเรียน

บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ

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 + y

Call 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. ✅

คำถามที่พบบ่อย

บทเรียน “กำหนดและเรียกใช้งาน” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “กำหนดและเรียกใช้งาน” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Flask Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Flask Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “กำหนดและเรียกใช้งาน”

เขียนงานและส่งงานด้วย delay คุณปฏิบัติ Flask Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Flask Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Flask Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “กำหนดและเรียกใช้งาน” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Flask Academy นี้ได้ไหม

ได้ บทเรียน Flask Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. เหตุใดจึงควรย้ายงานออกจากคำขอ
  2. เชื่อม Celery เข้ากับโรงงานแอป
  3. กำหนดและเรียกใช้งาน
  4. ติดตามผลลัพธ์และจัดการความล้มเหลว
← กลับไปที่ Flask Academy