Handle `tractor.TransportClosed` as "stream-closed"
In both the ems and sampler since on new `tractor` this is the "wrapping" exception raised when the transport layer terminates early but in a psuedo-"graceful" way, expected when a peer actors disconnect. Previously we were crashing in this case since old `tractor` just raised the underlying `trio`-source-exceptions verbatim. Also, - use `Aid.reprol()` in log msgs vs old `.chan.uid` refs (this commit msg was generated in some part by [`claude-code`][claude-code-gh]) [claude-code-gh]: https://github.com/anthropics/claude-codetpt_closed_and_finally_footguns
parent
d0eb6b479d
commit
ac6ab3791e
|
|
@ -729,6 +729,7 @@ class Router(Struct):
|
|||
except (
|
||||
trio.ClosedResourceError,
|
||||
trio.BrokenResourceError,
|
||||
tractor.TransportClosed,
|
||||
):
|
||||
to_remove.add(client_stream)
|
||||
log.warning(
|
||||
|
|
@ -1699,5 +1700,5 @@ async def _emsd_main(
|
|||
if not client_streams:
|
||||
log.warning(
|
||||
f'Order dialog is not being monitored:\n'
|
||||
f'{oid} ->\n{client_stream._ctx.chan.uid}'
|
||||
f'{oid!r} <-> {client_stream.chan.aid.reprol()}\n'
|
||||
)
|
||||
|
|
|
|||
|
|
@ -99,6 +99,7 @@ class Sampler:
|
|||
trio.BrokenResourceError,
|
||||
trio.ClosedResourceError,
|
||||
trio.EndOfChannel,
|
||||
tractor.TransportClosed,
|
||||
)
|
||||
|
||||
# holds all the ``tractor.Context`` remote subscriptions for
|
||||
|
|
@ -753,7 +754,7 @@ async def sample_and_broadcast(
|
|||
log.warning(
|
||||
f'Feed OVERRUN {sub_key}'
|
||||
f'@{bus.brokername} -> \n'
|
||||
f'feed @ {chan.uid}\n'
|
||||
f'feed @ {chan.aid.reprol()}\n'
|
||||
f'throttle = {throttle} Hz'
|
||||
)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue