feat(backend/server.py): add placeholder backend

This commit is contained in:
2025-08-25 21:39:32 +02:00
parent 1d00d5f4f5
commit 2964ac7644

View File

@@ -0,0 +1,48 @@
# -*- coding: utf-8 -*-
from __future__ import annotations
from typing import Any
import logging as lg
import random as rn
import threading
import time
class BackendServer:
def __init__(self) -> None:
self.logger: lg.Logger = lg.getLogger(
f"{__name__}.{self.__class__.__name__}"
)
self.logger.debug("Initializing Server...")
# TODO: add socket logic here
self.clients: dict[str, dict[str, dict[str, Any]]] = {
"C_01": {
"one_time": {
"hostname": "mock-host",
"platform": "windows 11",
"cpu_info": "i7",
},
"polled": {"cpu_usage": 0, "mem_usage": 0},
"ondemand": {},
}
}
self.running: bool = False
def start_polling(self) -> None:
self.running = True
def _poll_loop(self) -> None:
while self.running:
for client in self.clients.values():
client["polled"]["cpu"] = round(rn.uniform(0, 100), 1)
client["polled"]["ram"] = round(rn.uniform(0, 100), 1)
time.sleep(1)
def get_client_data(
self, client_id: str
) -> dict[str, dict[str, Any]] | None:
return self.clients.get(client_id, None)