SSE server reliability improvements

This commit is contained in:
Ian Renton
2026-06-05 16:17:29 +01:00
parent f6622bb942
commit 6938a8cc0a
11 changed files with 26 additions and 26 deletions

View File

@@ -102,7 +102,7 @@ class APIAlertsStreamHandler(tornado_eventsource.handler.EventSourceHandler):
self.write_message("keepalive", "") self.write_message("keepalive", "")
except Exception as e: except Exception as e:
logging.warning("Exception when serving SSE socket", e) logging.warning("Exception when serving SSE socket: %s", e, exc_info=True)
self.close() self.close()
def close(self): def close(self):
@@ -144,7 +144,7 @@ class APIAlertsStreamHandler(tornado_eventsource.handler.EventSourceHandler):
logging.error("Web server cleared up a queue of an active connection!") logging.error("Web server cleared up a queue of an active connection!")
self.close() self.close()
except: except:
logging.warning("Exception in SSE callback, connection will be closed.") logging.warning("Exception in SSE callback, connection will be closed: %s", e, exc_info=True)
self.close() self.close()

View File

@@ -104,7 +104,7 @@ class APISpotsStreamHandler(tornado_eventsource.handler.EventSourceHandler):
self.write_message("keepalive", "") self.write_message("keepalive", "")
except Exception as e: except Exception as e:
logging.warning("Exception when serving SSE socket", e) logging.warning("Exception when serving SSE socket: %s", e, exc_info=True)
self.close() self.close()
def close(self): def close(self):
@@ -146,7 +146,7 @@ class APISpotsStreamHandler(tornado_eventsource.handler.EventSourceHandler):
logging.error("Web server cleared up a queue of an active connection!") logging.error("Web server cleared up a queue of an active connection!")
self.close() self.close()
except: except:
logging.warning("Exception in SSE callback, connection will be closed.") logging.warning("Exception in SSE callback, connection will be closed: %s", e, exc_info=True)
self.close() self.close()

View File

@@ -69,7 +69,7 @@
<p>This software is dedicated to the memory of Tom G1PJB, SK, a friend and colleague who sadly passed away around the time I started writing it in Autumn 2025. I was looking forward to showing it to you when it was done.</p> <p>This software is dedicated to the memory of Tom G1PJB, SK, a friend and colleague who sadly passed away around the time I started writing it in Autumn 2025. I was looking forward to showing it to you when it was done.</p>
</div> </div>
<script src="/js/common.js?v=1780672510"></script> <script src="/js/common.js?v=1780672649"></script>
<script>$(document).ready(function() { $("#nav-link-about").addClass("active"); }); <!-- highlight active page in nav --></script> <script>$(document).ready(function() { $("#nav-link-about").addClass("active"); }); <!-- highlight active page in nav --></script>
{% end %} {% end %}

View File

@@ -69,8 +69,8 @@
</div> </div>
<script src="/js/common.js?v=1780672510"></script> <script src="/js/common.js?v=1780672649"></script>
<script src="/js/add-spot.js?v=1780672510"></script> <script src="/js/add-spot.js?v=1780672649"></script>
<script>$(document).ready(function() { $("#nav-link-add-spot").addClass("active"); }); <!-- highlight active page in nav --></script> <script>$(document).ready(function() { $("#nav-link-add-spot").addClass("active"); }); <!-- highlight active page in nav --></script>
{% end %} {% end %}

View File

@@ -70,8 +70,8 @@
</div> </div>
<script src="/js/common.js?v=1780672511"></script> <script src="/js/common.js?v=1780672649"></script>
<script src="/js/alerts.js?v=1780672511"></script> <script src="/js/alerts.js?v=1780672649"></script>
<script>$(document).ready(function() { $("#nav-link-alerts").addClass("active"); }); <!-- highlight active page in nav --></script> <script>$(document).ready(function() { $("#nav-link-alerts").addClass("active"); }); <!-- highlight active page in nav --></script>
{% end %} {% end %}

View File

@@ -76,9 +76,9 @@
<script> <script>
let spotProvidersEnabledByDefault = {% raw json_encode(web_ui_options["spot-providers-enabled-by-default"]) %}; let spotProvidersEnabledByDefault = {% raw json_encode(web_ui_options["spot-providers-enabled-by-default"]) %};
</script> </script>
<script src="/js/common.js?v=1780672510"></script> <script src="/js/common.js?v=1780672649"></script>
<script src="/js/spotsbandsandmap.js?v=1780672510"></script> <script src="/js/spotsbandsandmap.js?v=1780672649"></script>
<script src="/js/bands.js?v=1780672510"></script> <script src="/js/bands.js?v=1780672649"></script>
<script>$(document).ready(function() { $("#nav-link-bands").addClass("active"); }); <!-- highlight active page in nav --></script> <script>$(document).ready(function() { $("#nav-link-bands").addClass("active"); }); <!-- highlight active page in nav --></script>
{% end %} {% end %}

View File

@@ -1,6 +1,6 @@
{% extends "skeleton.html" %} {% extends "skeleton.html" %}
{% block head_extra %} {% block head_extra %}
<link rel="stylesheet" href="/css/style.css?v=1780672510" type="text/css"> <link rel="stylesheet" href="/css/style.css?v=1780672649" type="text/css">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css" rel="stylesheet" <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-sRIl4kxILFvY47J16cr9ZwB07vP4J8+LH7qKQnuqkuIAvNWLzeN8tE5YBujZqJLB" crossorigin="anonymous"> integrity="sha384-sRIl4kxILFvY47J16cr9ZwB07vP4J8+LH7qKQnuqkuIAvNWLzeN8tE5YBujZqJLB" crossorigin="anonymous">
<link href="/fa/css/fontawesome.min.css" rel="stylesheet" /> <link href="/fa/css/fontawesome.min.css" rel="stylesheet" />
@@ -19,9 +19,9 @@
integrity="sha384-L1eE4eD41kpBIWe2I0eHy+GnEUC4RIpcvibVW2JCminuPlTl+2Bc528iPdVMg5Dn" integrity="sha384-L1eE4eD41kpBIWe2I0eHy+GnEUC4RIpcvibVW2JCminuPlTl+2Bc528iPdVMg5Dn"
crossorigin="anonymous"></script> crossorigin="anonymous"></script>
<script src="https://misc.ianrenton.com/jsutils/utils.js?v=1780672510"></script> <script src="https://misc.ianrenton.com/jsutils/utils.js?v=1780672649"></script>
<script src="https://misc.ianrenton.com/jsutils/ui-ham.js?v=1780672510"></script> <script src="https://misc.ianrenton.com/jsutils/ui-ham.js?v=1780672649"></script>
<script src="https://misc.ianrenton.com/jsutils/geo.js?v=1780672510"></script> <script src="https://misc.ianrenton.com/jsutils/geo.js?v=1780672649"></script>
{% end %} {% end %}
{% block body %} {% block body %}
<div class="container"> <div class="container">

View File

@@ -271,8 +271,8 @@
</div> </div>
<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.9/dist/chart.umd.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.9/dist/chart.umd.min.js"></script>
<script src="/js/common.js?v=1780672510"></script> <script src="/js/common.js?v=1780672649"></script>
<script src="/js/conditions.js?v=1780672510"></script> <script src="/js/conditions.js?v=1780672649"></script>
<script>$(document).ready(function () { <script>$(document).ready(function () {
$("#nav-link-conditions").addClass("active"); $("#nav-link-conditions").addClass("active");
}); <!-- highlight active page in nav --></script> }); <!-- highlight active page in nav --></script>

View File

@@ -94,9 +94,9 @@
<script> <script>
let spotProvidersEnabledByDefault = {% raw json_encode(web_ui_options["spot-providers-enabled-by-default"]) %}; let spotProvidersEnabledByDefault = {% raw json_encode(web_ui_options["spot-providers-enabled-by-default"]) %};
</script> </script>
<script src="/js/common.js?v=1780672511"></script> <script src="/js/common.js?v=1780672649"></script>
<script src="/js/spotsbandsandmap.js?v=1780672511"></script> <script src="/js/spotsbandsandmap.js?v=1780672649"></script>
<script src="/js/map.js?v=1780672511"></script> <script src="/js/map.js?v=1780672649"></script>
<script>$(document).ready(function() { $("#nav-link-map").addClass("active"); }); <!-- highlight active page in nav --></script> <script>$(document).ready(function() { $("#nav-link-map").addClass("active"); }); <!-- highlight active page in nav --></script>
{% end %} {% end %}

View File

@@ -104,9 +104,9 @@
<script> <script>
let spotProvidersEnabledByDefault = {% raw json_encode(web_ui_options["spot-providers-enabled-by-default"]) %}; let spotProvidersEnabledByDefault = {% raw json_encode(web_ui_options["spot-providers-enabled-by-default"]) %};
</script> </script>
<script src="/js/common.js?v=1780672510"></script> <script src="/js/common.js?v=1780672649"></script>
<script src="/js/spotsbandsandmap.js?v=1780672510"></script> <script src="/js/spotsbandsandmap.js?v=1780672649"></script>
<script src="/js/spots.js?v=1780672510"></script> <script src="/js/spots.js?v=1780672649"></script>
<script>$(document).ready(function() { $("#nav-link-spots").addClass("active"); }); <!-- highlight active page in nav --></script> <script>$(document).ready(function() { $("#nav-link-spots").addClass("active"); }); <!-- highlight active page in nav --></script>
{% end %} {% end %}

View File

@@ -59,8 +59,8 @@
</div> </div>
</div> </div>
<script src="/js/common.js?v=1780672510"></script> <script src="/js/common.js?v=1780672649"></script>
<script src="/js/status.js?v=1780672510"></script> <script src="/js/status.js?v=1780672649"></script>
<script> <script>
$(document).ready(function() { $("#nav-link-status").addClass("active"); }); <!-- highlight active page in nav --> $(document).ready(function() { $("#nav-link-status").addClass("active"); }); <!-- highlight active page in nav -->
</script> </script>