Aglet

How to prioritize job retries by side-effect risk and reach

Prioritizing job retries means weighing recoverability against the risk of repeating or abandoning work. Consider the job's durable effect, how many attempts and records are involved, whether retries exhaust, backlog impact, and whether the retry pattern began after a release or dependency change.

Decide where the work belongs

  1. Rank the side effect at risk

    Name what the job creates, updates, sends, or schedules and whether a repeated attempt can duplicate it. Separate a harmless recomputation from a billing, notification, or state transition whose ownership is uncertain. Give higher priority to jobs where final state cannot be trusted.

  2. Group retry reach and exhaustion

    Compare job type, input shape, attempt count, failure class, worker context, release, dependency condition, and final outcome. Distinguish recovered jobs from exhausted or repeatedly retried ones. Include queue age or backlog when retries consume capacity needed by unrelated customer work.

  3. Choose a bounded retry slice

    Select immediate investigation, an idempotency or classification improvement, or collection of one missing attempt trace. State what changes priority, such as evidence of duplicate effects or a growing exhausted set. Keep a broad scheduler redesign separate from the logical job under investigation.

What to carry forward

Produce a queue decision tied to side-effect risk, retry and exhaustion reach, backlog impact, and evidence quality. Include uncertainty about effects after failure. The next engineer should have one representative job and a clear reason to address it before lower-risk retry noise.

Keep the decision with the work.

Use a Work Item in Aglet to record the problem, the evidence you have, and the next decision. Add an owner and priority, then keep updates in the discussion so the next person can follow the reasoning.

Create an account See the product workflow