Skip to content

Commit fb5373d

Browse files
Skipping heartbeats when we know we're closed
1 parent 7af5c83 commit fb5373d

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

src/replit_river/common_session.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ async def setup_heartbeat(
4747
heartbeat_ms: float,
4848
heartbeats_until_dead: int,
4949
get_state: Callable[[], SessionState],
50+
get_connected: Callable[[], bool],
5051
get_closing_grace_period: Callable[[], float | None],
5152
close_websocket: Callable[[], Awaitable[None]],
5253
send_message: SendMessage,
@@ -56,6 +57,11 @@ async def setup_heartbeat(
5657
while True:
5758
await asyncio.sleep(heartbeat_ms / 1000)
5859
state = get_state()
60+
if not get_connected():
61+
logger.debug(
62+
"Websocket is not connected, not sending heartbeat"
63+
)
64+
continue
5965
if state != SessionState.ACTIVE:
6066
logger.debug(
6167
"Session is closed, no need to send heartbeat, state : "

src/replit_river/v2/session.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ def increment_and_get_heartbeat_misses() -> int:
115115
self._transport_options.heartbeat_ms,
116116
self._transport_options.heartbeats_until_dead,
117117
lambda: self._state,
118+
lambda: self._ws_connected,
118119
lambda: self._close_session_after_time_secs,
119120
close_websocket=do_close_websocket,
120121
send_message=self.send_message,

0 commit comments

Comments
 (0)