Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4e5bafd26c | |||
| 817ae064af |
+1
-1
@@ -14,4 +14,4 @@ Install options:
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
__all__ = ["__version__"]
|
__all__ = ["__version__"]
|
||||||
__version__ = "5.3.3"
|
__version__ = "5.3.4"
|
||||||
|
|||||||
+19
-6
@@ -264,6 +264,7 @@ async def start(
|
|||||||
get_now=None,
|
get_now=None,
|
||||||
VER="",
|
VER="",
|
||||||
threshold_checker=None,
|
threshold_checker=None,
|
||||||
|
reload_callback=None,
|
||||||
):
|
):
|
||||||
"""Start an aiohttp web server and block until cancelled.
|
"""Start an aiohttp web server and block until cancelled.
|
||||||
|
|
||||||
@@ -1319,7 +1320,9 @@ async def start(
|
|||||||
logger.error("Config write failed: %s", exc)
|
logger.error("Config write failed: %s", exc)
|
||||||
return web.json_response({"error": str(exc)}, status=500)
|
return web.json_response({"error": str(exc)}, status=500)
|
||||||
|
|
||||||
if hasattr(config, "reload"):
|
if reload_callback:
|
||||||
|
await reload_callback()
|
||||||
|
elif hasattr(config, "reload"):
|
||||||
await config.reload()
|
await config.reload()
|
||||||
users_mod.load_users(config)
|
users_mod.load_users(config)
|
||||||
|
|
||||||
@@ -1350,7 +1353,9 @@ async def start(
|
|||||||
logger.error("Rollback failed: %s", exc)
|
logger.error("Rollback failed: %s", exc)
|
||||||
return web.json_response({"error": str(exc)}, status=500)
|
return web.json_response({"error": str(exc)}, status=500)
|
||||||
|
|
||||||
if hasattr(config, "reload"):
|
if reload_callback:
|
||||||
|
await reload_callback()
|
||||||
|
elif hasattr(config, "reload"):
|
||||||
await config.reload()
|
await config.reload()
|
||||||
users_mod.load_users(config)
|
users_mod.load_users(config)
|
||||||
|
|
||||||
@@ -1474,7 +1479,9 @@ async def start(
|
|||||||
logger.error("Channel create failed: %s", exc)
|
logger.error("Channel create failed: %s", exc)
|
||||||
return web.json_response({"error": str(exc)}, status=500)
|
return web.json_response({"error": str(exc)}, status=500)
|
||||||
|
|
||||||
if hasattr(config, "reload"):
|
if reload_callback:
|
||||||
|
await reload_callback()
|
||||||
|
elif hasattr(config, "reload"):
|
||||||
await config.reload()
|
await config.reload()
|
||||||
return web.json_response({"ok": True, "name": name})
|
return web.json_response({"ok": True, "name": name})
|
||||||
|
|
||||||
@@ -1540,7 +1547,9 @@ async def start(
|
|||||||
logger.error("Channel update failed: %s", exc)
|
logger.error("Channel update failed: %s", exc)
|
||||||
return web.json_response({"error": str(exc)}, status=500)
|
return web.json_response({"error": str(exc)}, status=500)
|
||||||
|
|
||||||
if hasattr(config, "reload"):
|
if reload_callback:
|
||||||
|
await reload_callback()
|
||||||
|
elif hasattr(config, "reload"):
|
||||||
await config.reload()
|
await config.reload()
|
||||||
return web.json_response({"ok": True})
|
return web.json_response({"ok": True})
|
||||||
|
|
||||||
@@ -1572,7 +1581,9 @@ async def start(
|
|||||||
logger.error("Channel delete failed: %s", exc)
|
logger.error("Channel delete failed: %s", exc)
|
||||||
return web.json_response({"error": str(exc)}, status=500)
|
return web.json_response({"error": str(exc)}, status=500)
|
||||||
|
|
||||||
if hasattr(config, "reload"):
|
if reload_callback:
|
||||||
|
await reload_callback()
|
||||||
|
elif hasattr(config, "reload"):
|
||||||
await config.reload()
|
await config.reload()
|
||||||
return web.json_response({"ok": True})
|
return web.json_response({"ok": True})
|
||||||
|
|
||||||
@@ -1631,7 +1642,9 @@ async def start(
|
|||||||
logger.error("User self-update failed: %s", exc)
|
logger.error("User self-update failed: %s", exc)
|
||||||
return web.json_response({"error": str(exc)}, status=500)
|
return web.json_response({"error": str(exc)}, status=500)
|
||||||
|
|
||||||
if hasattr(config, "reload"):
|
if reload_callback:
|
||||||
|
await reload_callback()
|
||||||
|
elif hasattr(config, "reload"):
|
||||||
await config.reload()
|
await config.reload()
|
||||||
users_mod.load_users(config)
|
users_mod.load_users(config)
|
||||||
|
|
||||||
|
|||||||
@@ -242,6 +242,9 @@ async def _run_async(config, config_path=None):
|
|||||||
# upgrade or config change between runs).
|
# upgrade or config change between runs).
|
||||||
threshold_checker.purge_stale_alerts(hbdclass)
|
threshold_checker.purge_stale_alerts(hbdclass)
|
||||||
|
|
||||||
|
async def _http_reload_callback():
|
||||||
|
await reload_configuration(config, config_path, components)
|
||||||
|
|
||||||
# HTTP server (asyncio-based via aiohttp)
|
# HTTP server (asyncio-based via aiohttp)
|
||||||
try:
|
try:
|
||||||
http_task = asyncio.create_task(
|
http_task = asyncio.create_task(
|
||||||
@@ -255,6 +258,7 @@ async def _run_async(config, config_path=None):
|
|||||||
verbose=config.get("verbose", False),
|
verbose=config.get("verbose", False),
|
||||||
get_now=lambda: time.time(),
|
get_now=lambda: time.time(),
|
||||||
VER="",
|
VER="",
|
||||||
|
reload_callback=_http_reload_callback,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
logger.info(
|
logger.info(
|
||||||
|
|||||||
+1
-1
@@ -377,7 +377,7 @@ def handle_datagram(msg: dict, addr, transport, ctx: dict):
|
|||||||
default_owner = config_mod.get_default_owner(cfg)
|
default_owner = config_mod.get_default_owner(cfg)
|
||||||
inferred_owner = plugin_data.get("owner", config_owner or default_owner)
|
inferred_owner = plugin_data.get("owner", config_owner or default_owner)
|
||||||
host.owner = inferred_owner
|
host.owner = inferred_owner
|
||||||
logger.info(f"owner for {uname} is '{host.owner}")
|
logger.info(f"owner for {uname} is {host.owner}")
|
||||||
if DEBUG > 1:
|
if DEBUG > 1:
|
||||||
print(f"Stored plugin data for {uname}: {plugin_name}")
|
print(f"Stored plugin data for {uname}: {plugin_name}")
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "hbd"
|
name = "hbd"
|
||||||
version = "5.3.3"
|
version = "5.3.4"
|
||||||
description = "Heartbeat monitoring system — client (hbc) and server (hbd)"
|
description = "Heartbeat monitoring system — client (hbc) and server (hbd)"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
requires-python = ">=3.11"
|
requires-python = ">=3.11"
|
||||||
|
|||||||
+1
-1
@@ -41,7 +41,7 @@ from pathlib import Path
|
|||||||
from typing import Any, Dict, List, Optional, Tuple
|
from typing import Any, Dict, List, Optional, Tuple
|
||||||
|
|
||||||
# updated by scripts/bumpminor.sh
|
# updated by scripts/bumpminor.sh
|
||||||
__version__ = "5.3.3"
|
__version__ = "5.3.4"
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
# Protocol (mirrors hbd/common/proto.py)
|
# Protocol (mirrors hbd/common/proto.py)
|
||||||
|
|||||||
Reference in New Issue
Block a user