feat(backend/server.py): add placeholder backend
This commit is contained in:
48
src/judas_server/backend/server.py
Normal file
48
src/judas_server/backend/server.py
Normal 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)
|
||||
Reference in New Issue
Block a user