fix: handle Paho v2 reason codes
This commit is contained in:
parent
8d77fc2cb5
commit
f558b69119
1 changed files with 5 additions and 3 deletions
|
|
@ -162,7 +162,9 @@ def enqueue(metric_line):
|
|||
|
||||
|
||||
def on_connect(client, userdata, flags, reason_code, properties=None):
|
||||
ok = int(reason_code) == 0
|
||||
# Paho v2 passes a ReasonCode object; direct comparison is supported,
|
||||
# converting it with int() is not.
|
||||
ok = reason_code == 0
|
||||
with lock:
|
||||
state["mqtt_up"] = 1 if ok else 0
|
||||
if ok:
|
||||
|
|
@ -337,7 +339,7 @@ class HealthHandler(BaseHTTPRequestHandler):
|
|||
return
|
||||
with lock:
|
||||
payload = {
|
||||
"status": "ok" if state["influx_up"] else "degraded",
|
||||
"status": "ok" if state["influx_up"] and state["mqtt_up"] else "degraded",
|
||||
"mqtt_up": bool(state["mqtt_up"]), "influx_up": bool(state["influx_up"]),
|
||||
"homeassistant_up": bool(state["ha_up"]), "homeassistant_http_status": state["ha_http_status"],
|
||||
"topics_seen": len(state["topics"]), "messages_total": state["messages_total"],
|
||||
|
|
@ -345,7 +347,7 @@ class HealthHandler(BaseHTTPRequestHandler):
|
|||
"uptime_seconds": int(time.time() - state["started"]),
|
||||
}
|
||||
body = json.dumps(payload, separators=(",", ":")).encode()
|
||||
self.send_response(200 if payload["influx_up"] else 503)
|
||||
self.send_response(200 if payload["influx_up"] and payload["mqtt_up"] else 503)
|
||||
self.send_header("Content-Type", "application/json")
|
||||
self.send_header("Content-Length", str(len(body)))
|
||||
self.end_headers()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue