Background Job Queue Design Guide
Design a reliable background job queue system with retries, idempotency, scheduling, observability, and failure handling.
Prompt Template
Act as a senior backend engineer. Design a background job queue architecture for [application/product] that needs to process [job types]. Application context: [SaaS app, marketplace, internal tool, ecommerce platform, AI workflow, etc.] Job examples: [emails, webhooks, imports, exports, billing sync, media processing, notifications] Expected volume: [jobs per minute/hour/day, burst patterns] Latency requirements: [real-time, near-real-time, overnight batch, SLA] Current stack: [language, framework, database, queue/broker, hosting] Failure risks: [duplicate work, partial completion, external API limits, long-running jobs, poison messages] Operational constraints: [team size, budget, compliance, observability tooling] Deliver: 1. **Queue architecture recommendation** — broker, worker model, storage, and deployment topology 2. **Job taxonomy** — priority classes, payload shape, ownership, and timeout rules 3. **Retry and backoff policy** — transient vs permanent failures, max attempts, jitter, and dead-letter queue 4. **Idempotency design** — dedupe keys, state transitions, locks, and safe replays 5. **Scheduling model** — delayed jobs, recurring jobs, cron replacement, and timezone handling 6. **Scaling plan** — worker concurrency, autoscaling triggers, rate limits, and backpressure 7. **Observability** — metrics, logs, tracing, alerts, dashboards, and runbooks 8. **Testing strategy** — unit, integration, chaos, and replay tests 9. **Migration plan** — how to introduce the queue without breaking existing synchronous flows Include concrete implementation notes for [preferred framework or queue tool].
Example Output
Background Job Queue Design: B2B Billing Sync
**Recommendation:** Use Sidekiq with Redis for near-real-time billing sync jobs, backed by PostgreSQL idempotency records. Separate queues: `critical`, `default`, `billing-sync`, and `bulk-import`.
Retry policy
- External API timeout: retry 8 times with exponential backoff and jitter.
- 4xx validation error: mark permanent failure after one attempt.
- Rate limit: respect `Retry-After`, pause the vendor-specific queue, and emit an alert after 10 minutes.
Idempotency
Use `job_type + account_id + external_invoice_id` as the dedupe key. Record states: `queued`, `processing`, `succeeded`, `failed_permanent`, `dead_lettered`. Workers must check whether the invoice already synced before making external calls.
Observability
Dashboard: queue depth, job age p95, success rate, retry rate, dead-letter count, vendor API latency, and worker saturation. Page on-call when critical jobs are older than 10 minutes or dead-letter count increases by more than 20/hour.
Migration
Start by moving invoice emails to async jobs, then billing sync, then bulk imports after replay tests pass.
Tips for Best Results
- 💡Separate long-running bulk jobs from user-facing jobs so one queue cannot starve the other.
- 💡Design idempotency before retries; retries without dedupe create expensive ghosts in the machine.
- 💡Include a dead-letter review workflow, not just a dead-letter queue.
- 💡Use job age and queue depth together; depth alone can hide stuck high-priority work.
Frequently Asked Questions
What is the Background Job Queue Design Guide prompt?
Design a reliable background job queue system with retries, idempotency, scheduling, observability, and failure handling. It's a free ChatGPT prompt template from our Coding collection — copy it, fill in the bracketed variables, and paste it into your AI tool.
Which AI tools work with this prompt?
It's written and tested for ChatGPT, Claude and Gemini. Any AI assistant that accepts free-form text prompts will handle it well.
How do I customize this ChatGPT prompt?
Replace the bracketed variables — such as [application/product], [job types], [jobs per minute/hour/day, burst patterns] — with your own details before running it. Separate long-running bulk jobs from user-facing jobs so one queue cannot starve the other.
Is this prompt free to use?
Yes. Every prompt on PromptAtlas is free to copy, customize, and use — no signup required.
Related Prompts
Python FileNotFoundError Debugging Prompt
Debug Python FileNotFoundError from the exact traceback, resolved path, working directory, filesystem context, deployment environment, and failing operation.
Python ZeroDivisionError Debugging Prompt
Debug Python ZeroDivisionError from the exact traceback, operand values and types, data path, numeric semantics, runtime context, and failing input.
Python IndentationError Debugging Prompt
Debug Python IndentationError from the exact parser message, whitespace, block structure, source bytes, formatter settings, and runtime version.
Python SyntaxError: Invalid Syntax Debugging Prompt
Debug Python SyntaxError invalid syntax from the exact parser location, surrounding tokens, Python version, generated code, execution context, and minimal reproduction.
Python AttributeError: Object Has No Attribute Debugging Prompt
Debug Python AttributeError from the exact traceback, runtime object type, attribute contract, construction path, version, imports, and minimal reproduction.
Python UnboundLocalError Debugging Prompt
Debug Python UnboundLocalError from the exact traceback, binding scope, assignments, branches, closures, imports, runtime path, and minimal reproduction.