Skip to main content

TurnPlacement

Defined in the protocols module.
AI Agent Which worker owns a session’s turns, and at what epoch (Issue #4011). A lifecycle-owned handle returned by :meth:TurnExecutorProtocol.place and passed back to :meth:~TurnExecutorProtocol.execute_turn / :meth:~TurnExecutorProtocol.teardown. The gateway revalidates the placement (worker alive, matching epoch) immediately before dispatch and again after any awaited admission/approval work; a stale placement (its worker was replaced, so epoch no longer matches) fails closed and the session is re-placed rather than executed on a dead worker. Attributes: session_id: The resolved session whose turns this placement serves. worker_id: Opaque id of the worker that owns the session’s turns. For the in-process default this is a constant (one loop, one worker); for isolated executors it identifies the subprocess/container/ remote worker. epoch: Monotonic generation bumped whenever the worker backing a session is replaced (e.g. after a wedge teardown). A turn carrying a stale epoch must not run — the fencing token that stops a reclaimed worker from executing against a session it no longer owns.

Properties

str
No description available.
str
No description available.
int
No description available.

Source

View on GitHub

praisonaiagents/gateway/protocols.py at line 5643