Bird
0
0

You wrote:

medium📝 Debug Q6 of 15
Django - Celery and Background Tasks
You wrote:
result = AsyncResult(task_id)
if result.status == 'DONE':
    print(result.result)

Why might this code never print the result?
ABecause AsyncResult does not have a status attribute
BBecause result.result is always None
CBecause 'DONE' is not a valid status in Celery
DBecause task_id is invalid
Step-by-Step Solution
Solution:
  1. Step 1: Check valid Celery statuses

    Celery uses statuses like PENDING, STARTED, SUCCESS, FAILURE, but not 'DONE'.
  2. Step 2: Understand condition failure

    Since 'DONE' is invalid, the if condition never becomes true, so print is skipped.
  3. Final Answer:

    Because 'DONE' is not a valid status in Celery -> Option C
  4. Quick Check:

    Use valid status names like SUCCESS, not DONE [OK]
Quick Trick: Use correct status names like SUCCESS, not DONE [OK]
Common Mistakes:
MISTAKES
  • Using 'DONE' instead of 'SUCCESS'
  • Assuming AsyncResult lacks status attribute
  • Thinking result.result is always None

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More Django Quizzes