Establish what is happening
Mark the allowed window
Record the schedule occurrence, permitted start and finish times, timezone if relevant, and the next operational boundary. Place batch start, each checkpoint, and item completion on the same timeline. Do not infer the cutoff from when a worker happened to stop.
Account for remaining work
List completed, active, waiting, and unclaimed items when the cutoff arrives. Measure the observed service interval and dependency wait for the active path. Compare the remaining count with a batch of the same shape that finished inside its window.
Check collision and recovery
Inspect whether another occurrence started, whether leftover items were checkpointed, and whether output was marked partial or stale. Separate legitimate drain behavior from work that continued without an owner. Preserve the exact boundary where the overrun changed the next action.
What to carry forward
Return a cutoff timeline, remaining item states, service and wait evidence, next-run interaction, and recovery status. Classify the scope as rate, dependency, cutoff enforcement, or checkpoint handling. Keep the cause uncertain when the schedule boundary or input snapshot is not recorded.
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