X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fstat%2Fmsg.pl;h=f8bed015e6ce84cceaae997a9aa66dc6f2e4ed6e;hb=76b7a9c06def95cc7a69ccbb1f1ea8c613f095a0;hp=557170e87689946dad35d31aed8ab82cfcea005a;hpb=30dbf70f84b53174005810f64f546d2181e1a8c6;p=spider.git diff --git a/cmd/stat/msg.pl b/cmd/stat/msg.pl index 557170e8..f8bed015 100644 --- a/cmd/stat/msg.pl +++ b/cmd/stat/msg.pl @@ -8,17 +8,33 @@ 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 keys %DXMsg::work; + push @out, "Busy Queue Data"; + foreach $ref (sort {$a->to cmp $b->to} DXMsg::get_all_busy) { + my $msgno = $ref->msgno; + my $stream = $ref->stream; + my $lines = scalar $ref->lines; + my $count = $ref->count; + my $lastt = $ref->lastt ? " Last Processed: " . cldatetime($ref->lastt) : ""; + my $waitt = $ref->waitt ? " Waiting since: " . cldatetime($ref->waitt) : ""; + + push @out, " $call -> msg: $msgno stream: $stream Count: $count Lines: $lines$lastt$waitt"; + } +} 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);