mirror of
https://github.com/donaldzou/WGDashboard.git
synced 2025-11-17 02:46:20 +00:00
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
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:
@@ -1,6 +0,0 @@
|
|||||||
version: "1.0"
|
|
||||||
linter: jetbrains/qodana-python:2024.3
|
|
||||||
profile:
|
|
||||||
name: qodana.recommended
|
|
||||||
include:
|
|
||||||
- name: CheckDependencyLicenses
|
|
||||||
@@ -160,16 +160,39 @@ 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(
|
|
||||||
list(map(lambda x : Process(x.name(), " ".join(x.cmdline()), x.pid, x.cpu_percent()), processes)),
|
cpu_processes = []
|
||||||
key=lambda x : x.percent, reverse=True)[:20]
|
memory_processes = []
|
||||||
self.Memory_Top_10_Processes = sorted(
|
|
||||||
list(map(lambda x : Process(x.name(), " ".join(x.cmdline()), x.pid, x.memory_percent()), processes)),
|
for proc in processes:
|
||||||
key=lambda x : x.percent, reverse=True)[:20]
|
try:
|
||||||
break
|
name = proc.name()
|
||||||
|
cmdline = " ".join(proc.cmdline())
|
||||||
|
pid = proc.pid
|
||||||
|
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 can’t 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:
|
except Exception as e:
|
||||||
current_app.logger.error("Get processes error", e)
|
current_app.logger.error("Get processes error", e)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user