fix: alpine error suicide bug (#950)
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Docker Build and Push / docker_build (push) Has been cancelled
Docker Build and Push / docker_scan (push) Has been cancelled
Mark stale issues and pull requests / stale (push) Has been cancelled

Co-authored-by: Daan Selen <dselen@systemec.nl>
This commit is contained in:
DaanSelen
2025-10-14 08:48:33 +02:00
committed by GitHub
parent 45510165a2
commit 09a3fddd87
2 changed files with 35 additions and 18 deletions

View File

@@ -1,6 +0,0 @@
version: "1.0"
linter: jetbrains/qodana-python:2024.3
profile:
name: qodana.recommended
include:
- name: CheckDependencyLicenses

View File

@@ -160,18 +160,41 @@ class Processes:
self.CPU_Top_10_Processes: list[Process] = [] self.CPU_Top_10_Processes: list[Process] = []
self.Memory_Top_10_Processes: list[Process] = [] self.Memory_Top_10_Processes: list[Process] = []
def getData(self): def getData(self):
while True: try:
try: processes = list(psutil.process_iter())
processes = list(psutil.process_iter())
self.CPU_Top_10_Processes = sorted( cpu_processes = []
list(map(lambda x : Process(x.name(), " ".join(x.cmdline()), x.pid, x.cpu_percent()), processes)), memory_processes = []
key=lambda x : x.percent, reverse=True)[:20]
self.Memory_Top_10_Processes = sorted( for proc in processes:
list(map(lambda x : Process(x.name(), " ".join(x.cmdline()), x.pid, x.memory_percent()), processes)), try:
key=lambda x : x.percent, reverse=True)[:20] name = proc.name()
break cmdline = " ".join(proc.cmdline())
except Exception as e: pid = proc.pid
current_app.logger.error("Get processes error", e) cpu_percent = proc.cpu_percent()
mem_percent = proc.memory_percent()
# Create Process object for CPU and memory tracking
cpu_process = Process(name, cmdline, pid, cpu_percent)
mem_process = Process(name, cmdline, pid, mem_percent)
cpu_processes.append(cpu_process)
memory_processes.append(mem_process)
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
# Skip processes we cant access or that no longer exist
continue
# Sort by CPU and memory usage (descending order)
cpu_sorted = sorted(cpu_processes, key=lambda p: p.percent, reverse=True)
mem_sorted = sorted(memory_processes, key=lambda p: p.percent, reverse=True)
# Get top 20 processes for each
self.CPU_Top_10_Processes = cpu_sorted[:20]
self.Memory_Top_10_Processes = mem_sorted[:20]
except Exception as e:
current_app.logger.error("Get processes error", e)
def toJson(self): def toJson(self):
self.getData() self.getData()