X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fstat%2Fmsg.pl;h=715c866701a5af64c075426df20ebc9b858d02c2;hb=217d9d54b6772ed24aee88d5dc968a64de54f531;hp=557170e87689946dad35d31aed8ab82cfcea005a;hpb=30dbf70f84b53174005810f64f546d2181e1a8c6;p=spider.git diff --git a/cmd/stat/msg.pl b/cmd/stat/msg.pl index 557170e8..715c8667 100644 --- a/cmd/stat/msg.pl +++ b/cmd/stat/msg.pl @@ -8,17 +8,42 @@ my ($self, $line) = @_; my @list = split /\s+/, $line; # generate a list of msg nos my @out; -return (1, $self->msg('e5')) if $self->priv < 5; -return (1, $self->msg('m16')) if @list == 0; +return (1, $self->msg('e5')) if $self->priv < 1; -foreach my $msgno (@list) { - my $ref = DXMsg::get($msgno); - if ($ref) { - @out = print_all_fields($self, $ref, "Msg Parameters $msgno"); - } else { - push @out, $self->msg('m4', $msgno); - } - push @out, "" if @list > 1; +if (@list == 0) { + my $ref; + push @out, "Work Queue Keys"; + push @out, map { " $_" } sort (DXMsg::get_all_fwq()); + push @out, "Busy Queue Data"; + foreach my $key (sort (DXMsg::get_all_busy())) { + $ref = DXMsg::get_busy($key); + if ($ref) { + my $msgno = $ref->msgno; + my $stream = $ref->stream; + my $lref = $ref->lines; + my $lines = 0; + $lines = @$lref if $lref; + my $count = $ref->count; + my $to = $ref->to; + my $from = $ref->from; + my $tonode = $ref->tonode; + my $lastt = $ref->lastt ? " Last Processed: " . cldatetime($ref->lastt) : ""; + my $waitt = $ref->waitt ? " Waiting since: " . cldatetime($ref->waitt) : ""; + push @out, " $key/$tonode: $from -> $to msg: $msgno stream: $stream Count: $count Lines: $lines$lastt$waitt" + } else { + push @out, " dangling ref for $key"; + } + } +} else { + foreach my $msgno (@list) { + my $ref = DXMsg::get($msgno); + if ($ref) { + @out = print_all_fields($self, $ref, "Msg Parameters $msgno"); + } else { + push @out, $self->msg('m4', $msgno); + } + push @out, "" if @list > 1; + } } return (1, @out);