Aglet

Document phase-specific time limits and cleanup behavior

The durable lesson is a time-limit contract that names what may be incomplete at the deadline and how that state is recovered. Record phase budgets, commit boundaries, cleanup ownership, and retry semantics together. A single global timeout value is not enough when phases have different work and side effects.

Keep the lesson for the next incident

  1. Write the deadline contract

    Name the clock and deadline calculation, allowed phases, behavior at the boundary, cleanup owner, and terminal states. State what a retry may repeat and what requires reconciliation. Keep dependency waits explicit when they consume the same budget.

  2. Retain boundary fixtures

    Keep below-limit, pre-commit, post-commit, cleanup, and dependency-wait cases with expected effects and statuses. Re-run them after changing input size, phase work, dependency latency, transaction scope, worker limits, or retry handling.

  3. Watch for recurring ambiguity

    Review timeouts with unknown writes, cleanup that outlives ownership, and retries created without a commit readback. Inspect phase and clock evidence before changing the limit. Assign review when a new long phase or side effect lacks a deadline rule.

What to carry forward

Preserve a phase-aware deadline, cleanup, commit, and retry contract with matched fixtures. Recurrence checks should connect timeout records to durable effects and owner state. Reopen review when job shape, dependency wait, transaction scope, or a new side effect changes what the limit can safely interrupt.

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