Skip to content

Commit 309e3c3

Browse files
authored
Ensure listening before finishing object creation (#9)
We need to be sure we have already started listening on the subscribed channel so that we won't miss any messages between object creation and first use.
1 parent 261e5b9 commit 309e3c3

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

state_signals.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -524,6 +524,7 @@ def __init__(
524524
raise redis.ConnectionError
525525
self.subscriber = self.redis.pubsub(ignore_subscribe_messages=True)
526526
self.subscriber.subscribe("event-signal-pubsub")
527+
self.channel = self.subscriber.listen()
527528
self.responder_id = responder_name + "-" + str(uuid.uuid4()) + "-resp"
528529
self._locked_id = None
529530
self._locked_tag = None
@@ -574,7 +575,7 @@ def listen(self) -> Iterator[Signal]:
574575
Yield all legal published signals. If a specific tag/published_id
575576
was locked, only signals with those matching values will be yielded.
576577
"""
577-
for item in self.subscriber.listen():
578+
for item in self.channel:
578579
data = self._parse_signal(item)
579580
if data and self._check_target(data):
580581
signal = Signal(**data)

0 commit comments

Comments
 (0)