Skip to main content

design-a-background-job

Design a durable background job with explicit payload, ownership, idempotency, retries, deadlines, progress, cancellation, and recovery. Use when work must continue outside an interactive request.

Source facts

Repository
protosphinx/sphinxstack
Last source activity
July 29, 2026 at 13:55
Detected SKILL.md language
English
Stars
3
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
2 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
design-a-background-job
category
code
description
Design a durable background job with explicit payload, ownership, idempotency, retries, deadlines, progress, cancellation, and recovery. Use when work must continue outside an interactive request.
# design-a-background-job Assume delivery can be delayed, duplicated, reordered, or interrupted. ## When to use - Use for asynchronous processing, imports, exports, notifications, media, billing, cleanup, or scheduled work. - Do not place secrets or large mutable objects directly in a queue message. ## Procedure 1. Define job trigger, owner, payload contract, version, tenant, priority, deadline, and success outcome. 2. Store durable references and immutable inputs needed to reproduce the work. 3. Design idempotent steps, checkpoints, lease or visibility behavior, and duplicate handling. 4. Classify transient, permanent, input, dependency, cancellation, and expired failures. 5. Set bounded retries, backoff, jitter, timeout, dead-letter, and manual replay rules. 6. Control concurrency, ordering, rate limits, resource use, and downstream backpressure. 7. Expose safe status, progress, cancellation, result, logs, metrics, and alerts. 8. Test crash points, duplicate delivery, worker loss, poison messages, and recovery. ## Done - A background-job specification records payload, version, idempotency, states, retries, deadlines, resources, and recovery - Fault tests verify duplicate, crash, timeout, cancellation, dead-letter, replay, and observable outcome behavior
View on GitHub