Update export statistics
This commit is contained in:
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
@@ -1,6 +1,6 @@
|
||||
Metadata-Version: 2.4
|
||||
Name: zhurnal
|
||||
Version: 0.1.0
|
||||
Version: 0.2.0
|
||||
Summary: Process monitoring and management web application
|
||||
Author: retoor
|
||||
Author-email: retoor@molodetz.nl
|
||||
@@ -8,7 +8,7 @@ Requires-Python: >=3.8
|
||||
Description-Content-Type: text/markdown
|
||||
Requires-Dist: aiohttp
|
||||
Requires-Dist: setuptools
|
||||
Requires-Dist: app@ git+https://retoor.molodetz.nl/retoor/app.git
|
||||
Requires-Dist: app @ git+https://retoor.molodetz.nl/retoor/app.git
|
||||
|
||||
# Zhurnal: Real-Time Process Monitoring Web Interface 🚀
|
||||
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
aiohttp
|
||||
setuptools
|
||||
app@ git+https://retoor.molodetz.nl/retoor/app.git
|
||||
app @ git+https://retoor.molodetz.nl/retoor/app.git
|
||||
|
||||
+13
-7
@@ -236,7 +236,7 @@ class Zhurnal(BaseApplication):
|
||||
for command, process_info in list(self.processes.items()):
|
||||
try:
|
||||
# Get the subprocess
|
||||
process = process_info.get('process')
|
||||
process = process_info.get("process")
|
||||
if process and process.returncode is None:
|
||||
log.info(f"Terminating process: {command}")
|
||||
try:
|
||||
@@ -299,10 +299,7 @@ class Zhurnal(BaseApplication):
|
||||
)
|
||||
|
||||
# Store process information
|
||||
self.processes[command] = {
|
||||
'process': process,
|
||||
'name': process_name
|
||||
}
|
||||
self.processes[command] = {"process": process, "name": process_name}
|
||||
|
||||
log.info(f"Running process {process_name}: {command}")
|
||||
|
||||
@@ -320,7 +317,9 @@ class Zhurnal(BaseApplication):
|
||||
)
|
||||
decoded_line = line.decode("utf-8", "ignore").strip()
|
||||
print(decoded_line)
|
||||
decoded_line = "".join(c for c in decoded_line if c.isprintable())
|
||||
decoded_line = "".join(
|
||||
c for c in decoded_line if c.isprintable()
|
||||
)
|
||||
|
||||
# Broadcast to all WebSocket clients
|
||||
for client in app.clients:
|
||||
@@ -346,7 +345,13 @@ class Zhurnal(BaseApplication):
|
||||
# Read stdout and stderr concurrently
|
||||
await asyncio.gather(
|
||||
read_output(self, f"{process_name}:stdout", process, process.stdout),
|
||||
read_output(self, f"{process_name}:stderr", process, process.stderr, is_stderr=True)
|
||||
read_output(
|
||||
self,
|
||||
f"{process_name}:stderr",
|
||||
process,
|
||||
process.stderr,
|
||||
is_stderr=True,
|
||||
),
|
||||
)
|
||||
|
||||
# Wait for process to complete
|
||||
@@ -422,5 +427,6 @@ def cli():
|
||||
|
||||
app.run(host=args.host, port=args.port)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
cli()
|
||||
|
||||
Reference in New Issue
Block a user