Aglet

Triage batch cancellation by checkpoint and side effect

Cancellation is a sequence, not a single button state. Start with one request and follow it through queued items, an active worker, the next cooperative checkpoint, and any external or durable effect. The key triage question is whether work is waiting to observe cancellation or has already crossed a side-effect boundary.

Establish what is happening

  1. Capture the cancellation timeline

    Record the batch ID, request time, acknowledgement time, worker phase, and final status. List queued items separately from the item currently executing. Include the last checkpoint and the last known side effect so a delayed status cannot be mistaken for continued useful work.

  2. Identify the observation boundary

    Compare a worker stopped before its next item, one paused at a checkpoint, and one inside a long call. For each, note when cancellation becomes visible and whether the worker polls or receives a signal. Preserve the call type without assuming it can be interrupted safely.

  3. Check effects after acknowledgement

    Read the item ledger and downstream records after cancellation is acknowledged. Mark any new write, message, or external request with its timestamp and initiating phase. If the only change is a delayed terminal status, separate status lag from actual work continuing.

What to carry forward

Return a timeline naming the cancellation boundary, worker phase, last side effect, and terminal-state evidence. State whether the issue is request visibility, cooperative observation, an uninterruptible call, or status projection. Keep the cause uncertain when the worker trace ends before its next durable checkpoint.

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