From c487c6cd9ffa069fe33de2780d7a8e911c2ecc84 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sun, 19 Apr 2020 12:43:50 +0200 Subject: [PATCH] web: Add server detail page --- web/pages/mxq/mxq.in | 62 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 60 insertions(+), 2 deletions(-) diff --git a/web/pages/mxq/mxq.in b/web/pages/mxq/mxq.in index 184f233e..c3de3820 100755 --- a/web/pages/mxq/mxq.in +++ b/web/pages/mxq/mxq.in @@ -507,6 +507,62 @@ sub group { return $out; } +sub server_detail { + my ($daemon_id) = @_; + $dbh or db_init(); + my $out=h1('MXQ DAEMON '.$daemon_id); + my @cols=qw( + daemon_id daemon_name + status hostname mxq_version boot_id pid_starttime + daemon_pid daemon_slots daemon_memory daemon_maxtime + daemon_memory_limit_slot_soft daemon_memory_limit_slot_hard + daemon_jobs_running daemon_slots_running + daemon_threads_running daemon_memory_used + mtime daemon_start daemon_stop daemon_flags prerequisites + ); + my $sth=$dbh->prepare('SELECT '.join(',',@cols).' FROM mxq_daemon WHERE daemon_id=? LIMIT 1', undef); + $sth->execute($daemon_id); + my %o=%{$sth->fetchrow_hashref('NAME_lc')}; + + $out.=<<"EOF"; +
+daemon_id      : $o{daemon_id}
+daemon_name    : $o{daemon_name}
+status         : $o{status}
+
+hostname       : $o{hostname}
+
+mxq_version    : $o{mxq_version}
+
+boot_id        ; $o{boot_id}
+pid_starttime  : $o{pid_starttime}
+daemon_pid     : $o{daemon_pid}
+
+daemon_slots   : $o{daemon_slots}
+daemon_memory  : $o{daemon_memory}
+daemon_maxtime : $o{daemon_maxtime}
+
+daemon_memory_limit_slot_soft : $o{daemon_memory_limit_slot_soft}
+daemon_memory_limit_slot_hard : $o{daemon_memory_limit_slot_hard}
+
+daemon_jobs_running    : $o{daemon_jobs_running}
+daemon_slots_running   : $o{daemon_slots_running}
+daemon_threads_running : $o{daemon_threads_running}
+daemon_memory_used     : $o{daemon_memory_used}
+
+mtime          : $o{mtime}
+
+daemon_start   : $o{daemon_start}
+daemon_stop    : $o{daemon_stop}
+
+daemon_flags   : $o{daemon_flags}
+
+prerequisites  : $o{prerequisites}
+
+EOF +} + + sub job { my ($job_id)=@_; @@ -764,6 +820,7 @@ sub active_jobs() { return h1('MXQ Running Jobs').job_table_running().h1('MXQ Pending Jobs').job_table_pending(); } + sub server() { $dbh or db_init(); $hostconfig or hostconfig_init(); @@ -784,7 +841,6 @@ sub server() { $out.=''; - $out.=$q->Tr($q->th([ 'id', 'name', @@ -832,7 +888,7 @@ sub server() { delete($dead_hosts->{$hostname}); $out.=$q->Tr( - $q->td({class=>'number'},$daemon_id), + $q->td({class=>'number'},$q->a({href=>selfurl("/server/$daemon_id")},$daemon_id)), $q->td($daemon_name), $q->td(daemon_status($status)), $q->td($hostname), @@ -903,6 +959,8 @@ if ($path_info eq '') { print header().HEAD().top_menu().group($1,$2); } elsif ($path_info =~ /\/job\/(\d+)$/) { print header().HEAD().top_menu().job($1); +} elsif ($path_info =~ /\/server\/(\d+)$/) { + print header().HEAD().top_menu().server_detail($1); } else { print header(-status => 404).HEAD().top_menu().'

not found

'; }