core practice · coding problem

At-least-once job delivery

Worker crashes after processing but before ACK. What happens on redelivery? How make handler safe?

The mechanism

Background jobs move slow work off the request so the user gets a fast response. The hard parts are idempotency (what if the job runs twice?), retries (transient errors vs permanent ones), and visibility (where did my job go?).

Study Background Jobs

Expected evidence

Duplicate delivery; handler must be idempotent or use dedupe keys.

Try this drill in the practice workspace →

Hints when you need them
  • ACK after side effects = loss risk.
  • ACK before = duplicate risk.

Check the sources

Browse all practice briefs