Bird
0
0

Consider a Celery task that retries on failure with exponential backoff. Which code snippet correctly implements this behavior?

hard📝 Application Q9 of 15
Django - Celery and Background Tasks
Consider a Celery task that retries on failure with exponential backoff. Which code snippet correctly implements this behavior?
Araise self.retry(exc=exc, countdown=2 ** self.request.retries)
Braise self.retry(exc=exc, countdown=10)
Cself.retry(exc=exc, countdown=2 * self.request.retries)
Draise self.retry(exc=exc, countdown=self.request.retries)
Step-by-Step Solution
Solution:
  1. Step 1: Understand exponential backoff

    Exponential backoff means delay doubles each retry: 2^retry_count.
  2. Step 2: Check code for correct countdown

    raise self.retry(exc=exc, countdown=2 ** self.request.retries) uses 2 ** self.request.retries, correctly doubling delay each retry.
  3. Final Answer:

    raise self.retry(exc=exc, countdown=2 ** self.request.retries) -> Option A
  4. Quick Check:

    Exponential backoff = 2^retry_count [OK]
Quick Trick: Use countdown=2 ** retries for exponential backoff [OK]
Common Mistakes:
MISTAKES
  • Not raising retry
  • Using linear instead of exponential delay
  • Missing power operator

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More Django Quizzes