add more routing code together with associated commands
[spider.git] / cmd / stat / msg.pl
1 #
2 # show all the values on a message header
3 #
4 # $Id$
5 #
6
7 my ($self, $line) = @_;
8 my @list = split /\s+/, $line;                # generate a list of msg nos
9 my @out;
10
11 return (1, $self->msg('e5')) if $self->priv < 1;
12
13 if (@list == 0) {
14         my $ref;
15         push @out, "Work Queue Keys";
16         push @out, map { " $_" } sort keys %DXMsg::work;
17         push @out, "Busy Queue Data";
18         foreach $ref (sort {$a->call cmp $b->call} DXMsg::get_all_busy) {
19                 my $msgno = $ref->msgno;
20                 my $stream = $ref->stream;
21                 my $lines = scalar $ref->lines;
22                 my $count = $ref->count;
23                 my $lastt = $ref->lastt ? " Last Processed: " . cldatetime($ref->lastt) : "";
24                 my $waitt = $ref->waitt ? " Waiting since: " . cldatetime($ref->waitt) : "";
25                 
26                 push @out, " $call -> msg: $msgno stream: $stream Count: $count Lines: $lines$lastt$waitt";
27         }
28 } else {
29         foreach my $msgno (@list) {
30                 my $ref = DXMsg::get($msgno);
31                 if ($ref) {
32                         @out = print_all_fields($self, $ref, "Msg Parameters $msgno");
33                 } else {
34                         push @out, $self->msg('m4', $msgno);
35                 }
36                 push @out, "" if @list > 1;
37         }
38 }
39
40 return (1, @out);