← ClaudeAtlas

celery-patternslisted

When to activate: Celery, task queues, Redis broker, async jobs, retry logic, periodic tasks, monitoring
Mattakushi432/Claude-Code-Skills-Custom-DevTools-Pack · ★ 0 · AI & Automation · score 73
Install: claude install-skill Mattakushi432/Claude-Code-Skills-Custom-DevTools-Pack
# Celery Patterns ## Setup ```python # celery_app.py from celery import Celery from kombu import Queue celery_app = Celery( "myapp", broker="redis://redis:6379/0", backend="redis://redis:6379/1", include=["app.tasks.email", "app.tasks.reports"], ) celery_app.conf.update( task_serializer="json", result_serializer="json", accept_content=["json"], timezone="UTC", enable_utc=True, # Queues task_queues=[ Queue("high", routing_key="high"), Queue("default", routing_key="default"), Queue("low", routing_key="low"), ], task_default_queue="default", # Reliability task_acks_late=True, # ack after completion, not on receipt task_reject_on_worker_lost=True, worker_prefetch_multiplier=1, # prevent worker starvation # Result expiry result_expires=3600, ) ``` ## Task Definition ```python from celery import shared_task from celery.utils.log import get_task_logger from celery.exceptions import MaxRetriesExceededError logger = get_task_logger(__name__) @shared_task( bind=True, max_retries=3, default_retry_delay=60, queue="default", time_limit=300, # hard kill after 5 min soft_time_limit=240, # raises SoftTimeLimitExceeded after 4 min autoretry_for=(TemporaryError,), retry_backoff=True, retry_backoff_max=600, retry_jitter=True, ) def send_email_task(self, to: str, subject: str, body: str) -> dict: try: result = email_service.s