Expand description
One awaited call that hands a task to an already-chosen worker over whichever transport it registered on, with the deregistration decision carried as a type rather than inferred from a missing sender (#52). One awaited call: hand an already-built task to an already-chosen worker, over whichever transport that worker registered on.
§Why this seam exists
Before it, the dispatcher’s delivery line assumed gRPC. A worker whose
sender() was None — which is every liminal-delivered worker — was
deregistered like a closed stream, on the premise that its presence could
only be a leak. That premise held while the outbox chose one transport for
the whole server, and stops holding the moment a row is routed by the
worker’s own delivery (aion#52).
§The contract, and why the blocking shape wins
“Enqueued onto the stream” is the weakest truth a transport can offer: it says a message was accepted by a channel, not that a worker took the work. The liminal path already offers a stronger one — a correlated reply, with the run id resolved before an owner is bound — and that is the truth the completion fences actually want. So the seam is a single awaited call returning a typed outcome, and gRPC is the fast-completing case of it rather than a different shape. Latency is not the dispatcher’s concern; it awaits either.
§The outcome carries the deregistration decision as a TYPE
The distinction that used to live in a comment at the delivery line is now
[Undeliverable]’s two variants, so a caller cannot act on it by accident:
a worker the transport says is gone is deregistered, and a delivery that
failed while the worker is alive leaves the registration standing.
Enums§
- Liveness
Tracking - How a delivered task’s liveness is tracked, as a value the transport must interpret rather than a bare number it must remember the meaning of.
- Task
Delivery - The outcome of one delivery attempt to one already-chosen worker.
- Undeliverable
- Why one delivery attempt did not place its task with a worker.
Traits§
- Delivery
Accepted - What a transport arm calls at the instant the worker HOLDS the task — the gRPC stream accepted the frame; the liminal push was acknowledged — and before it waits for any reply.
- Worker
Task Delivery - A transport that can place one task with one already-selected worker.