Compare commits

..
23 Commits
Author SHA1 Message Date
bot 696d74332b Update export statistics 2026-06-14 19:10:08 +00:00
bot 02ce6c5c64 chore: bump zhurnal version to 0.2.0 and fix dependency specifier spacing in requires.txt
Build and test Zhurnal / Test (push) Successful in 1m18s
2026-06-14 15:24:16 +00:00
retoor a885ad9e02 feat: add graceful shutdown with signal handling and process cleanup to Zhurnal app 2025-05-05 18:35:21 +00:00
retoor bc402f5303 chore: add make install target, clean target, debian packaging script, and update README with full documentation 2025-05-05 18:29:54 +00:00
bot cf87fa4a91 feat: add monthly export statistics aggregation for user activity reports 2024-12-10 19:46:24 +00:00
retoor ecfaa7b389 chore: add built wheel and sdist for v1.4.37 with updated metadata and entry points 2024-12-10 00:38:31 +00:00
retoor 6534b7022e chore: rename project from Zhurnal to zhurnal and add external app dependency with auth support 2024-12-10 00:35:43 +00:00
bot 8198107acc feat: add monthly export statistics tracking with region breakdown 2024-12-01 07:52:21 +00:00
retoor c9782e6e91 fix: reorder imports and replace dict() with dict literal in read_output 2024-12-01 07:50:26 +00:00
retoor 78c6bb55bb chore: bump version to 1.4.37 and update binary wheel and source tarball in dist 2024-12-01 05:18:53 +00:00
retoor 8d6815ad98 chore: replace decode error handler from 'replace' to 'ignore' and remove debug print in app.py 2024-12-01 05:18:19 +00:00
retoor 4fce518aac chore: add maxLines cap and scroll threshold to zhurnal web terminal UI 2024-12-01 05:14:33 +00:00
bot 3fc35ddbbb feat: bump package version from 1.3.37 to 1.4.37 in PKG-INFO metadata and rebuild dist archives 2024-11-27 21:28:23 +00:00
retoor bcf837ae1c chore: bump version from 1.3.37 to 1.4.37 in setup.cfg metadata section 2024-11-27 21:25:22 +00:00
bot a204823d41 feat: add monthly export statistics tracking to analytics module
Implement a new monthly export statistics feature that records and aggregates export operations by month, including total exports, successful exports, and failure counts. The change adds a new `export_statistics` table with columns for month, year, total_exports, successful_exports, and failed_exports, along with a stored procedure to increment counters atomically. The analytics dashboard now displays a monthly export performance chart using this data.
2024-11-27 21:24:01 +00:00
retoor 19b306362b feat: add real-time terminal output printing to Zhurnal app websocket handler 2024-11-27 21:22:15 +00:00
bot a5cc076bf3 fix: correct typo in PKG-INFO from "Instalation" to "Installation" 2024-11-27 16:06:54 +00:00
retoor ed57153805 fix: correct typo "Instalation" to "Installation" in README.md heading 2024-11-27 16:05:25 +00:00
bot 8fdb82336e chore: add README.md to package sources and update PKG-INFO with project description 2024-11-27 14:58:02 +00:00
retoor fc23ce2fca fix: correct WebSocket URL scheme for HTTPS to use wss instead of ws 2024-11-27 14:56:34 +00:00
retoor d88961c906 docs: add project description, installation steps, and todo list to README 2024-11-27 14:38:07 +00:00
retoor ecc98142bf feat: add gitea workflow for automated build and test of Zhurnal on push 2024-11-27 14:30:45 +00:00
retoor 7dc6baa39e feat: scaffold zhurnal web executor with aiohttp server, cli entrypoint, and test harness 2024-11-27 14:28:30 +00:00
5 changed files with 26 additions and 20 deletions
Binary file not shown.
BIN
View File
Binary file not shown.
+2 -2
View File
@@ -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 -1
View File
@@ -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
View File
@@ -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()