Files
XPUSYS-Monitor-NG/__init__.py
T
2026-06-08 23:04:38 +02:00

52 lines
1.6 KiB
Python

"""
ComfyUI-XPUSYS-Monitor — GPU resource monitor plugin for ComfyUI.
Entry point: auto-detects the GPU vendor, instantiates the appropriate
hardware provider, registers web routes, and starts the background
broadcast loop.
"""
import asyncio
import logging
logger = logging.getLogger("XPUSYSMonitor")
WEB_DIRECTORY = "./web"
NODE_CLASS_MAPPINGS = {}
NODE_DISPLAY_NAME_MAPPINGS = {}
# ---------------------------------------------------------------------------
# Initialise backend
# ---------------------------------------------------------------------------
try:
from .providers import auto_detect_provider
from .xpu_server import register_routes, set_provider, broadcast_loop
_provider = auto_detect_provider(interval_ms=1000)
set_provider(_provider)
# Attach HTTP routes to PromptServer
try:
from server import PromptServer
server = PromptServer.instance
if server is not None:
register_routes(server)
# Schedule the WebSocket broadcast loop onto the server's event loop
loop = server.loop
if loop is not None:
asyncio.run_coroutine_threadsafe(
broadcast_loop(server, interval_s=1.0), loop
)
except Exception as exc:
logger.warning(f"XPUSYSMonitor: could not attach to PromptServer — {exc}")
logger.info("XPUSYSMonitor: plugin loaded successfully.")
except Exception as exc:
logger.error(f"XPUSYSMonitor: failed to initialise — {exc}", exc_info=True)
NODE_CLASS_MAPPINGS = {}
__all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS", "WEB_DIRECTORY"]