Completion boundaries
A task’s success does not establish a cross-table snapshot or advance every downstream consumer. The caller checks readiness for the data it will read next.
Block and bundle writes
- The block path submits a write with
Sync: false. - The bundle path initializes a BatchWrite job, uploads its payload, and commits it. It returns after the commit response; it does not wait for the job’s storage-side completion.
- Keep the output block or bundle aligned with the source computation.
- Debug table writes produce previews without persisting data.
Watching and querying
When
WATCH_DISCONNECT_GRACE_MS is positive, disconnecting the last Watch stream starts that grace period. If no stream reconnects, the task fails with WATCH_DISCONNECTED. The default 0 disables this behavior; tasks never watched are unaffected. A result query does not attach a Watch stream.
Repetition and failure
- Repeating a submission to the same Worker while the task runs returns its current state.
- Within the result retention window, repeating that task identifier returns its terminal state.
- A new task identifier represents new work. Before resubmitting a write, check whether the previous operation took effect.
- A commit whose outcome is unknown is classified as non-retryable by the bundle writer. Inspect the write job rather than assuming no write occurred.
Summary
- Read returned values directly; confirm storage conditions for written data.
- Maintain the task’s Watch connection while it runs.
- Decide whether to repeat work using the result and write context together.