my $t = time();
my $max;
my $erase_screen = 1;
-my $last_names = '?';
+my $last_content = '?';
while(1) {
my $uptime = time() - $t;
- print "\e[2J" if $erase_screen || $uptime % 5 == 0;
+ if ( $erase_screen ) {
+ print "\e[2J";
+ $erase_screen = 0;
+ }
print "\e[0;0H"; # Cursor Home
print "Gearman " . localtime(time()) . "\t\e[34mmax update: $uptime\e[0m\n";
printf "\e[4mqueued running wrk function\e[0m\n";
print $sock "STATUS\n";
- my $names;
+ my $content;
while ( my $line = <$sock> ) {
chomp $line;
$max->{$name}->{$_} ||= 0 foreach qw(queued running);
$max->{$name}->{queued} = $queued if $queued > $max->{$name}->{queued};
$max->{$name}->{running} = $running if $running > $max->{$name}->{running};
- printf "%3d \e[34m%-3d\e[0m %3d \e[34m%-3d\e[0m %3d %s\n"
+ my $line = sprintf "%3d \e[34m%-3d\e[0m %3d \e[34m%-3d\e[0m %3d %s"
, $queued, $max->{$name}->{queued}
, $running, $max->{$name}->{running}
, $workers
, $name
;
- $names .= $name;
+ print "$line\n";
+ $content .= $line;
}
=for workers
}
=cut
- if ( $names ne $last_names ) {
+ if ( $content ne $last_content ) {
$erase_screen = 1;
- $last_names = $names;
+ $last_content = $content;
}
sleep 1;