Session-recovery robustness (from PR #1)
- Suppress ConnectionError log noise from in-flight requests draining after a session close (poll_scheduler + keepalive log at DEBUG). - Null KeepaliveTask.on_unreachable during a forced reconnect so the dying session's keepalive can't flip HA availability offline after the new session is already healthy. Ported into PR #5's _maybe_force_reconnect flow. Drops the _session_stop / publish-health force-close mechanism from the original PR — PR #5's last_success_ts + _maybe_force_reconnect already covers the 'session dead, restart it' goal via a different path, and running both means two paths force-closing the same session on the same failure.
This commit is contained in:
1 parent
93f78f99a2
commit
015e4a4e9e
4 files changed
+19
-1
No files matched your search
@@ -409,6 +409,11 @@ class PushBridge:
|
||||
self.log.warning(
|
||||
"unreachable for %.0fs — forcing session reconnect", elapsed)
|
||||
self._force_close_in_flight = True
|
||||
# Null the dying session's on_unreachable so its keepalive thread
|
||||
# can't flip availability offline after the new session takes over.
|
||||
ka = self.keepalive
|
||||
if ka is not None:
|
||||
ka.on_unreachable = None
|
||||
try:
|
||||
sess.close()
|
||||
except Exception as e:
|
||||
|
||||
Reference in new issue
Block a user