Skip to content

Commit 1034513

Browse files
committed
Always recreate the stream instance
This seems to fix problems with flakey tests Signed-off-by: Mathias L. Baumann <[email protected]>
1 parent 0056292 commit 1034513

File tree

1 file changed

+10
-25
lines changed

1 file changed

+10
-25
lines changed

src/frequenz/client/dispatch/_client.py

Lines changed: 10 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,6 @@
5555
class Client(BaseApiClient[dispatch_pb2_grpc.MicrogridDispatchServiceStub]):
5656
"""Dispatch API client."""
5757

58-
streams: dict[
59-
int, GrpcStreamBroadcaster[StreamMicrogridDispatchesResponse, DispatchEvent]
60-
] = {}
61-
"""A dictionary of streamers, keyed by microgrid_id."""
62-
6358
def __init__(
6459
self,
6560
*,
@@ -225,26 +220,16 @@ def _get_stream(
225220
self, microgrid_id: int
226221
) -> GrpcStreamBroadcaster[StreamMicrogridDispatchesResponse, DispatchEvent]:
227222
"""Get an instance to the streaming helper."""
228-
broadcaster = self.streams.get(microgrid_id)
229-
# pylint: disable=protected-access
230-
if broadcaster is not None and broadcaster._channel.is_closed:
231-
# pylint: enable=protected-access
232-
del self.streams[microgrid_id]
233-
broadcaster = None
234-
if broadcaster is None:
235-
request = StreamMicrogridDispatchesRequest(microgrid_id=microgrid_id)
236-
broadcaster = GrpcStreamBroadcaster(
237-
stream_name="StreamMicrogridDispatches",
238-
stream_method=lambda: cast(
239-
AsyncIterator[StreamMicrogridDispatchesResponse],
240-
self.stub.StreamMicrogridDispatches(
241-
request, metadata=self._metadata
242-
),
243-
),
244-
transform=DispatchEvent.from_protobuf,
245-
retry_strategy=LinearBackoff(interval=1, limit=0),
246-
)
247-
self.streams[microgrid_id] = broadcaster
223+
request = StreamMicrogridDispatchesRequest(microgrid_id=microgrid_id)
224+
broadcaster = GrpcStreamBroadcaster(
225+
stream_name="StreamMicrogridDispatches",
226+
stream_method=lambda: cast(
227+
AsyncIterator[StreamMicrogridDispatchesResponse],
228+
self.stub.StreamMicrogridDispatches(request, metadata=self._metadata),
229+
),
230+
transform=DispatchEvent.from_protobuf,
231+
retry_strategy=LinearBackoff(interval=1, limit=0),
232+
)
248233

249234
return broadcaster
250235

0 commit comments

Comments
 (0)