fix this for the new interface
[spider.git] / cmd / stat / msg.pl
index 2b7ed7525c566c3635eb59134dd4c088af02ff46..dfacd062602fcbd69c0c321ea0661ca9682b0403 100644 (file)
@@ -13,17 +13,26 @@ return (1, $self->msg('e5')) if $self->priv < 1;
 if (@list == 0) {
        my $ref;
        push @out, "Work Queue Keys";
-       push @out, map { " $_" } sort keys %DXMsg::work;
+       push @out, map { " $_" } sort DXMsg::get_all_fwq();
        push @out, "Busy Queue Data";
-       foreach $ref (sort {$a->call cmp $b->call} 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";
+       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) {