Skip to content

Commit 292d320

Browse files
committed
api: Extend backoff for register inside call_on_each_event.
1 parent 1c88115 commit 292d320

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

zulip/zulip/__init__.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -601,8 +601,8 @@ def call_on_each_event(
601601
if narrow is None:
602602
narrow = []
603603

604-
def do_register() -> Tuple[str, int]:
605-
while True:
604+
def do_register(backoff: RandomExponentialBackoff) -> Tuple[str, int]:
605+
while backoff.keep_going():
606606
if event_types is None:
607607
res = self.register()
608608
else:
@@ -611,8 +611,9 @@ def do_register() -> Tuple[str, int]:
611611
if 'error' in res['result']:
612612
if self.verbose:
613613
print("Server returned error:\n%s" % res['msg'])
614-
time.sleep(1)
614+
backoff.fail()
615615
else:
616+
backoff.succeed()
616617
return (res['queue_id'], res['last_event_id'])
617618

618619
queue_id = None
@@ -627,7 +628,7 @@ def do_register() -> Tuple[str, int]:
627628
delay_cap=90)
628629
while backoff.keep_going():
629630
if queue_id is None:
630-
(queue_id, last_event_id) = do_register()
631+
(queue_id, last_event_id) = do_register(backoff)
631632

632633
res = self.get_events(queue_id=queue_id, last_event_id=last_event_id)
633634
if 'error' in res['result']:

0 commit comments

Comments
 (0)