Python background job patterns including task queues, workers, and event-driven architecture. Use when implementing async task processing, job queues, long-running operations, or decoupling work from request/response cycles.
85
77%
Does it follow best practices?
Impact
99%
1.32xAverage score across 3 eval scenarios
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/python-development/skills/python-background-jobs/SKILL.mdAsync job submission and status polling API
Immediate return with job ID
100%
100%
poll_url in response
100%
100%
Job status enum
62%
100%
Job model timestamp fields
0%
100%
Job model result and error fields
100%
100%
Status polling endpoint
100%
100%
404 on missing job
100%
100%
Result only when succeeded
37%
100%
Error only when failed
37%
100%
is_terminal flag
0%
100%
UUID for job IDs
100%
100%
Celery task config, retry, and dead letter queue
task_acks_late=True
100%
100%
task_reject_on_worker_lost
100%
100%
worker_prefetch_multiplier=1
100%
100%
Both time limits set
0%
100%
bind=True on task
100%
100%
max_retries on task
100%
100%
Exponential backoff
0%
100%
Permanent failure not retried
100%
100%
DLQ on max retries exhausted
100%
100%
DLQ message content
75%
100%
autoretry_for or explicit retry
100%
100%
Idempotent task design and job state tracking
Check-before-write idempotency
100%
100%
Idempotency key for payment
0%
100%
Job state: pending → running → succeeded/failed
100%
100%
started_at timestamp on running
100%
100%
completed_at timestamp on completion
100%
100%
Structured logging on state change
91%
100%
job_id in log
100%
100%
status in log
100%
100%
upsert or dedup pattern
100%
75%
No double-charge risk
60%
100%
27a7ed9
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.