[pdm-devel] [PATCH yew-comp/datacenter-manager] ui: implement remote task list
Dominik Csapak
d.csapak at proxmox.com
Mon Jan 20 10:29:50 CET 2025
This series implements a remote task list and includes the remote
running tasks into the globabl running tasks list (if started through
the pdm or caught via caching).
for that i had to adapt the proxmox-yew-comp widget a bit so that
they're more customizable, as well as implement our usual task filters
in the task cache.
the first 2 yew-comp patches could be applied even if the rest of the
series is not, but the remaining patches depend on those for line
numbers etc.
a few things yet to implement
* proper task rendering for the task viewer title
* remote/node filter for remote task list.
I noticed that the task caching could be improved a bit, e.g. we discard
the cache when it's older than some 'max-age' but old (finished!) tasks
will never get updated, they could at most be purged from the cache.
IMHO it does not make sense to control the cache this way with a
'max-age' variable, maybe @Lukas can look over that again and see
if we can cache the tasks better here?
(note that we can't have much above ~1000 tasks in PVE since that
is the number where we purge older ones there. I think we could keep
older tasks for remotes and also just purge them if the number is above
some threshold, maybe a bit higher than what PVE has).
proxmox-yew-comp:
Dominik Csapak (7):
tasks: make date filter functional
tasks: load more tasks on end of list
utils: factor out task description into own function
running tasks: make TaskListItem renderer configurable
running tasks: make buttons configurable
tasks: make columns configurable
tasks: make the 'show task' action configurable
src/running_tasks.rs | 54 ++++++---
src/running_tasks_button.rs | 15 ++-
src/tasks.rs | 221 ++++++++++++++++++++++++++----------
src/utils.rs | 24 ++--
4 files changed, 232 insertions(+), 82 deletions(-)
datacenter-manager:
Dominik Csapak (9):
server: factor out task filters into `TaskFilters` type
server: task cache: skip remotes with errors on fetch
server: task cache: add filter options
server: task cache: reverse task order
pdm-client: export PveUpid
ui: refactor RemoteConfigPanel into own module
ui: remotes: add tasks to global remote panel
ui: register pve tasks
ui: also show running remote tasks in 'running tasks' list
lib/pdm-api-types/src/lib.rs | 81 ++++++-
lib/pdm-client/src/lib.rs | 2 +
server/src/api/nodes/tasks.rs | 80 ++-----
server/src/api/remote_tasks.rs | 10 +-
server/src/task_cache.rs | 77 +++++-
ui/src/lib.rs | 3 +
ui/src/main.rs | 25 +-
ui/src/main_menu.rs | 7 +-
ui/src/remotes/config.rs | 392 +++++++++++++++++++++++++++++++
ui/src/remotes/mod.rs | 413 +++------------------------------
ui/src/remotes/tasks.rs | 153 ++++++++++++
ui/src/tasks.rs | 101 ++++++++
ui/src/top_nav_bar.rs | 54 ++++-
13 files changed, 932 insertions(+), 466 deletions(-)
create mode 100644 ui/src/remotes/config.rs
create mode 100644 ui/src/remotes/tasks.rs
create mode 100644 ui/src/tasks.rs
--
2.39.5
More information about the pdm-devel
mailing list