diff --git a/web/pages/mxq/mxq.in b/web/pages/mxq/mxq.in index 1aecc0ea..f7189880 100755 --- a/web/pages/mxq/mxq.in +++ b/web/pages/mxq/mxq.in @@ -12,13 +12,14 @@ our %DAEMON_STATUS_NAME; our $dbh; our $hostconfig; our $q; +our $NL="\n"; our $LIMIT=100000; # max rows sub STYLE { return <<'EOF'; EOF } sub HEAD { - return "\n\n".STYLE()."\n"; + return "\n\n".STYLE()."\n".""; } sub selfurl { @@ -200,10 +201,10 @@ sub colorize { sub colorize_status { my ($status)=@_; - return colorize("green", $status) if $status =~ m/FINISHED/; - return colorize("orange",$status) if $status =~ m/RUNNING/; - return colorize("blue", $status) if $status =~ m/INQ/; - return colorize("red", $status) if $status =~ m/KILL|FAIL/; + return colorize("green", $status) if $status =~ m/FINISHED/; + return colorize("chocolate",$status) if $status =~ m/RUNNING/; + return colorize("blue", $status) if $status =~ m/INQ/; + return colorize("red", $status) if $status =~ m/KILL|FAIL/; return $status; } @@ -224,15 +225,15 @@ sub job_table_pending { my $sth=$dbh->prepare('SELECT '.join(',',@cols).' FROM mxq_job,mxq_group WHERE mxq_job.group_id=mxq_group.group_id AND job_status=0 ORDER BY job_status,date_submit'); $sth->execute(@bind_args); - $out.=''; + $out.=$NL.'
'; - $out.=$q->Tr($q->th(\@cols)); + $out.=$NL.$q->Tr($q->th(\@cols)); my $cnt=0; while (my $row=$sth->fetchrow_arrayref()) { my ($job_id,$user_name,$date_submit,$job_threads)=@$row; - $out.=$q->Tr( + $out.=$NL.$q->Tr( $q->td({class=>'number'},$q->a({href=>selfurl("/job/$job_id")},$job_id)), $q->td($user_name), $q->td($date_submit), @@ -240,7 +241,7 @@ sub job_table_pending { ); ++$cnt == $LIMIT and last; } - $out.='
'; + $out.=$NL.''.$NL; if ($cnt==$LIMIT) { $out.=$q->p($q->em("(truncated after $LIMIT rows)")); } @@ -258,14 +259,14 @@ sub job_table_running { my $sth=$dbh->prepare('SELECT '.join(',',@cols).' FROM mxq_job,mxq_group WHERE mxq_job.group_id=mxq_group.group_id AND job_status=200 ORDER BY job_status,date_start'); $sth->execute(@bind_args); - $out.=''; + $out.=$NL.'
'; - $out.=$q->Tr($q->th(\@cols)); + $out.=$NL.$q->Tr($q->th(\@cols)); while (my $row=$sth->fetchrow_arrayref()) { my ($job_id,$user_name,$date_start,$host_hostname,$host_pid,$host_slots)=@$row; - $out.=$q->Tr( + $out.=$NL.$q->Tr( $q->td({class=>'number'},$q->a({href=>selfurl("/job/$job_id")},$job_id)), $q->td($user_name), $q->td($date_start), @@ -274,7 +275,7 @@ sub job_table_running { $q->td({class=>'number'},$host_slots), ); } - $out.='
'; + $out.=$NL.''.$NL; } sub job_table_of_group { @@ -308,9 +309,9 @@ sub job_table_of_group { __EOF__ $sth->execute($group_id); - $out.=''; + $out.=$NL.'
'; - $out.=$q->Tr($q->th(\@scols)); + $out.=$NL.$q->Tr($q->th(\@scols)); my $lds; my $col=1; @@ -334,11 +335,11 @@ __EOF__ if (defined $lds && abs($lds-$ds)>10) { $col = 1-$col; - $out.=$q->Tr($q->td(' ')); + $out.=$NL.$q->Tr($q->td(' ')); } $lds=$ds; - $out.=$q->Tr( + $out.=$NL.$q->Tr( {class=>'bg'.$col}, $q->td({class=>'number'},$q->a({href=>selfurl("/job/$job_id")},$job_id)), $q->td(colorize_status(job_status($job_status))), @@ -349,7 +350,7 @@ __EOF__ ); ++$cnt == $LIMIT and last; } - $out.='
'; + $out.=$NL.''.$NL; if ($cnt==$LIMIT) { $out.=$q->p($q->em("(truncated after $LIMIT rows)")); } @@ -684,8 +685,8 @@ sub group_table { my $sth=$dbh->prepare('SELECT '.join(',',@cols).' FROM mxq_group WHERE '.$sql_clause.' AND (group_jobs_running>0 OR group_jobs_inq>0) ORDER BY group_id DESC'); $sth->execute(@$sql_binds); - $out.=''; - $out.=$q->Tr($q->th(\@head)); + $out.=$NL.'
'; + $out.=$NL.$q->Tr($q->th(\@head)); while (my $row=$sth->fetchrow_arrayref()) { my ($group_id,$group_name,$job_threads, $job_memory,$job_time,$job_tmpdir_size,$job_gpu, @@ -693,7 +694,7 @@ sub group_table { $group_jobs,$group_jobs_inq,$group_jobs_running,$group_jobs_finished,$group_jobs_failed,$group_jobs_cancelled,$group_jobs_unknown )=@$row; - $out.=$q->Tr( + $out.=$NL.$q->Tr( $q->td({class=>'number'},$q->a({href=>selfurl("/group/$group_id")},$group_id)), $q->td($group_name), $q->td({class=>'number'},$job_threads), @@ -705,14 +706,14 @@ sub group_table { $q->td(group_status($group_status)), $q->td({class=>'number'},$group_jobs), $q->td({class=>'number'},colorize("blue",$group_jobs_inq)), - $q->td({class=>'number'},colorize("orange",$group_jobs_running)), + $q->td({class=>'number'},colorize("chocolate",$group_jobs_running)), $q->td({class=>'number'},colorize("green",$group_jobs_finished)), $q->td({class=>'number'},colorize("red",$group_jobs_failed)), $q->td({class=>'number'},colorize("red",$group_jobs_cancelled)), $q->td({class=>'number'},colorize("red",$group_jobs_unknown)) ); } - $out.='
'; + $out.=$NL.''.$NL; $out .= "

Finished Groups (last $days days)

"; @@ -749,8 +750,8 @@ sub group_table { $sth=$dbh->prepare('SELECT '.join(',',@cols).' FROM mxq_group WHERE '.$sql_clause.' AND (group_jobs_running=0 AND group_jobs_inq=0) AND group_mtime >= DATE_SUB(NOW(),INTERVAL ? DAY) ORDER BY group_id DESC'); $sth->execute(@$sql_binds,$days); - $out.=''; - $out.=$q->Tr($q->th(\@head)); + $out.=$NL.'
'; + $out.=$NL.$q->Tr($q->th(\@head)); while (my $row=$sth->fetchrow_arrayref()) { my ($group_id,$group_name,$job_threads, $job_memory, @@ -762,7 +763,7 @@ sub group_table { $group_jobs,$group_jobs_finished,$group_jobs_failed,$group_jobs_cancelled,$group_jobs_unknown )=@$row; - $out.=$q->Tr( + $out.=$NL.$q->Tr( $q->td({class=>'number'},$q->a({href=>selfurl("/group/$group_id")},$group_id)), $q->td($group_name), $q->td({class=>'number'},$job_threads), @@ -779,7 +780,7 @@ sub group_table { $q->td({class=>'number'},colorize("red",$group_jobs_unknown)) ); } - $out.='
'; + $out.=$NL.''.$NL; return $out; } @@ -835,9 +836,9 @@ sub server() { my $sth=$dbh->prepare('SELECT '.join(',',@cols).' FROM mxq_daemon WHERE status<=200 ORDER BY hostname,daemon_name'); $sth->execute(); - $out.=''; + $out.=$NL.'
'; - $out.=$q->Tr($q->th([ + $out.=$NL.$q->Tr($q->th([ 'id', 'name', 'status', @@ -887,7 +888,7 @@ sub server() { delete($dead_hosts->{$hostname}); - $out.=$q->Tr( + $out.=$NL.$q->Tr( $q->td({class=>'number'},$q->a({href=>selfurl("/server/$daemon_id")},$daemon_id)), $q->td($daemon_name), $q->td(daemon_status($status)), @@ -913,12 +914,12 @@ sub server() { ); } map { - $out.=$q->Tr( $q->td(0),$q->td('-'),$q->td('no mxqd'),$q->td($_),$q->td(' '),$q->td(' '),$q->td(' '),$q->td(' '),$q->td(' '),$q->td(' '),$q->td(' '),$q->td(' '),$q->td(' '),$q->td(' '),$q->td(' '),$q->td(' ')); + $out.=$NL.$q->Tr( $q->td(0),$q->td('-'),$q->td('no mxqd'),$q->td($_),$q->td(' '),$q->td(' '),$q->td(' '),$q->td(' '),$q->td(' '),$q->td(' '),$q->td(' '),$q->td(' '),$q->td(' '),$q->td(' '),$q->td(' '),$q->td(' ')); } keys %{$dead_hosts}; - $out.=$q->Tr($q->td({colspan=>16},' ')); + $out.=$NL.$q->Tr($q->td({colspan=>16},' ')); my $dist = join(', ',map {"$S{daemon_slots_dist}->{$_}x$_"} sort {$b <=> $a} keys %{$S{daemon_slots_dist}}); - $out.=$q->Tr( + $out.=$NL.$q->Tr( $q->td({class=>'center', colspan=>3},$S{servers}.' servers'), $q->td($dist), $q->td({class=>'center', colspan=>3},$S{daemon_slots}.' cores'), @@ -933,16 +934,16 @@ sub server() { $q->td({class=>'number'},$S{daemon_gpus_used_sum}) ); - $out.='
'; + $out.=$NL.''.$NL; return $out; } sub top_menu { - return '' . $q->Tr( + return $NL.'' . $NL . $q->Tr( $q->td(a({href=>selfurl('/groups')},'groups')),$q->td(' '), $q->td(a({href=>selfurl('/active_jobs')},'active_jobs')),$q->td(' '), $q->td(a({href=>selfurl('/server')},'server')) - ).''; + ).$NL.''.$NL; } $q=new CGI; @@ -975,3 +976,4 @@ if ($path_info eq '') { } else { print header(-status => 404).HEAD().top_menu().'

not found

'; } +print "\n\n";