Aglet

Prioritize long-job heartbeat gaps by intervention risk

A false dead-job alarm can trigger duplicate execution or an unsafe retry, while a missed heartbeat can leave a worker holding resources indefinitely. Prioritize the consequence of acting on the signal and the evidence available to distinguish progress from abandonment. A long phase with durable updates needs different urgency from a silent worker with no ownership proof.

Decide where the work belongs

  1. Rank the intervention consequence

    Record what an operator or monitor does when a heartbeat ages out: retry, release, cancel, or page for review. Put duplicate side effects and ownerless locks ahead of a delayed status label. Keep downstream blockage visible even when no intervention occurs.

  2. Separate quiet from dead evidence

    Group cases by phase, worker health, durable progress, and terminal event. Compare a known long step with a worker that exited unexpectedly. Do not use elapsed heartbeat age as proof of failure when the monitored phase has a documented quiet interval.

  3. Choose an observability slice

    Select immediate investigation, a monitor wording or threshold review, or a controlled long-phase fixture. Name the missing signal that would change priority, such as an independent worker lease or phase progress mark. Avoid shortening every interval before locating the sender or observer gap.

What to carry forward

Queue the item with intervention risk, phase, independent liveness evidence, and downstream consequence. Escalate when a gap can launch duplicate work or leave ownership unknown. Otherwise schedule a phase-aware heartbeat investigation with a known long step and a blocked-call comparison.

Technical background: Celery documentation.

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