BOINC Manager QT
custom BOINC Manager pro správu BOINC projektů. RPC parity s originálním managerem.
Co projekt řeší
custom BOINC Manager pro správu BOINC projektů. RPC parity s originálním managerem.
Typické použití
- Tail Insights Engine - analytická analýza projektů
- Per-session logging do logs/ složky
- Lepší error handling a user-facing error messages
Jak aplikace funguje a k čemu slouží
Přehled a use-case
BOINC Manager QT je vlastní grafické rozhraní RPC klient pro BOINC daemona orientovaný na parity přístup: zachovat prakticky kompletní management schopnosti známé z klasického manageru, ale současně rozšířit UI a analytiku. Aplikace cílí na dva typy uživatelů: (1) běžné BOINC operátory, kteří potřebují denní dohled nad projekty/tasky/transféry, a (2) pokročilé uživatele, kteří chtějí konfigurační kontrolu (global/project prefs, cc_config), historickou analýzu a týmové statistiky.
V release 0.1.7.0 jsou klíčové oblasti: robustní RPC klient, asynchronní service vrstva s diff-optimalizací, non-modal analytické dialogy (Tail Insights, User Statistics/CNT), multi-host workflow a persistence detailního runtime stavu. Součástí je také fallback režim pro čtení dat z při dočasné nedostupnosti RPC endpointu.
- Primární cíl: řídit BOINC výpočetní klient přes grafické rozhraní RPC bez ztráty operativních funkcí.
- Sekundární cíl: nabídnout diagnostiku a trendové přehledy nad rámec minimálního „click-and-watch“ použití.
- Třetí cíl: držet jeden přenositelný monolit (single-file app) se zřetelnou interní vrstvou odpovědností.
UI workflow
7.1 Menu a toolbar
Horní menu obsahuje Tools, Languages, Themes, Help. Toolbar je orientovaný na connection + activities + rychlé admin akce. Kromě přímých tlačítek je dostupné i dropdown menu pro run/network/gpu activity režimy.
7.2 Přehled tabů
| Tab | Obsah | Akce |
|---|---|---|
| Projects | stav projektu, kredit, disk, deadline | update/reset/detach/props |
| Tasks | WU, progress, ETA, CPU time, report deadline | abort/props/browse slot |
| Progress | souhrnné progressy a agregace | pasivní přehled |
| Transfers | upload/download flow | retry/abort |
| Attach | project attach wizard | lookup/create/attach |
| Global Prefs | XML editor global preferences | load/apply |
| Project Prefs | XML editor per project | load/apply/clear |
| CC Config | XML editor client config | load/apply |
| Notices | notices feed | open/open link/clear |
| Disk Usage | disk usage per project | refresh |
| Host Info | HW/OS/GPU informace | refresh |
| Processes | procesní přehled BOINC tasků | refresh/open/suspend/kill |
| Log | runtime log stream | clear (dle UI varianty) |
7.3 Workflow mapa (krok za krokem)
- Vyber host profil, ověř host/port/auth a klikni Connect.
- Po navázání spojení zkontroluj Projects + Tasks + Transfers.
- Při potřebě zásahu použij activities (compute/network/gpu) a project/task akce.
- Konfigurační změny prováděj přes Global Prefs / Project Prefs / CC Config.
- Sleduj Notices/Messages kvůli problémům a doporučením.
- Pro analytiku otevři Tail Insights nebo User Statistics (CNT).
- Před ukončením ověř, že nejsou pending risky akce (detach/reset/abort).
Uživatelské scénáře
10.1 Denní monitoring
- Connect na aktivní host profil.
- Zkontroluj Projects/Tasks a případné error stavy.
- Sleduj Transfers a Messages kvůli síťovým/IO potížím.
- V případě nesrovnalostí použij notices + log + host info.
10.2 Nedostupný RPC endpoint
- Zapni offline fallback path na .
- Spusť read-only audit stavu projektů a tasků.
- Po obnově daemonu znovu přepni na online RPC.
10.3 Tuning preferencí
- V Global Prefs uprav CPU/GPU/network policy.
- V CC Config nastav low-level client volby (opatrně).
- Potvrď změny a sleduj dopad v tasks/transfers.
10.4 Multi-host + CNT analytika
- Ulož více host profilů přes save host workflow.
- Přepínej mezi hosty bez restartu aplikace.
- Otevři User Statistics a analyzuj rank/trend delta.
- Validuj timeline snapshoty a core-normalized metriky.
FAQ
| Otázka | Odpověď |
|---|---|
| Nejde připojení na 31416. Co první? | Zkontroluj, že daemon běží, host/port sedí a je dostupný auth zdroj. |
| Kdy má smysl offline fallback? | Při výpadku RPC endpointu pro read-only audit stavu. |
| Proč UI nereaguje okamžitě po akci? | Aktualizace jsou řízené polling intervaly a diff modelem. |
| Je CNT integrace povinná? | Ne. Základní RPC správu neblokuje. |
| Kde hledat detailní chyby? | Tab Log + soubory v . |
| Je konfigurace přenositelná? | Ano, JSON config lze přenést mezi instancemi při kompatibilním prostředí. |
| Lze provozovat více hostů bez restartu? | Ano, přes saved_hosts quick switch workflow. |
Troubleshooting
12.1 Připojení a autentizace
| Symptom | Pravděpodobná příčina | Řešení |
|---|---|---|
| Connection refused | daemon neběží / špatný host/port | ověř daemon, port 31416, firewall |
| Authentication failed | neplatné heslo nebo cesta na cfg | ověř nebo direct heslo |
| RPC timeout | síťová latence / přetížení | zvyš intervaly + timeout, zkontroluj síť |
| Not authorized | nesoulad auth tokenu | reconnect, re-read auth, ověř BOINC config |
12.2 UI a performance
| Symptom | Příčina | Řešení |
|---|---|---|
| UI lag s 1000+ tasky | krátké polling intervaly + vysoká změnovost | uprav polling, omez analytiku během špičky |
| Neuložená geometrie | config write fail | ověř práva zápisu do JSON souboru |
| Nesedí theme/font | chybějící theme asset / fontdir | zkontroluj themes.py a font fallback bootstrap |
12.3 Data a parsery
| Symptom | Příčina | Řešení |
|---|---|---|
| XML parse error | nestandardní odpověď serveru | ověř BOINC verzi a log detail odpovědi |
| CNT data missing | síť/cache/změna formátu stránky | refresh cache, ověř endpoint, retry |
| Prázdný timeline soubor | neproběhl zápis snapshotu | ověř běh analytics workflow a práva zápisu |
Známé limity
- Monolitická struktura souboru je robustní pro single-distribuci, ale náročnější pro modulární údržbu.
- Některé RPC metody mohou být závislé na verzi BOINC serveru.
- CNT integrace je best-effort (závislost na externím zdroji a formátu stránky).
- Pokročilé grafické vizualizace nejsou primární cíl; aplikace je orientovaná na datový management.
