change mrtg times collect again
[spider.git] / perl / cluster.pl
index 86785a9777c45c8ae0a4284ec1a0b86c9b84d3da..1419e318e15d5e704045c1fd764201cf8faf0e7c 100755 (executable)
@@ -43,7 +43,10 @@ BEGIN {
                my $pid = <CLLOCK>;
                if ($pid) {
                        chomp $pid;
-                       die "Lockfile ($lockfn) and process $pid exist, another cluster running?" if kill 0, $pid;
+                       if (kill 0, $pid) {
+                               warn "Lockfile ($lockfn) and process $pid exist, another cluster running?\n";
+                               exit 1;
+                       }
                }
                unlink $lockfn;
                close CLLOCK;
@@ -56,6 +59,7 @@ BEGIN {
        $systime = time;
 }
 
+                       
 use Mojo::IOLoop;
 
 use DXVars;
@@ -131,7 +135,7 @@ use vars qw(@inqueue $systime $starttime $lockfn @outstanding_connects
                        $clusterport $mycall $decease $is_win $routeroot $me $reqreg $bumpexisting
                        $allowdxby $dbh $dsn $dbuser $dbpass $do_xml $systime_days $systime_daystart
                        $can_encode $maxconnect_user $maxconnect_node $idle_interval $log_flush_interval
-                       $broadcast_debug
+                       $broadcast_debug 
                   );
 
 @inqueue = ();                                 # the main input queue, an array of hashes
@@ -151,6 +155,8 @@ $log_flush_interval = 2;            # interval to wait between log flushes
 
 our $ending;                                   # signal that we are ending;
 our $broadcast_debug;                  # allow broadcasting of debug info down "enhanced" user connections
+our $clssecs;                                  # the amount of cpu time the DXSpider process have consumed
+our $cldsecs;                                  # the amount of cpu time any child processes have consumed
 
 
 # send a message to call on conn and disconnect
@@ -647,6 +653,7 @@ setup_start();
 
 my $main_loop = Mojo::IOLoop->recurring($idle_interval => \&idle_loop);
 my $log_flush_loop = Mojo::IOLoop->recurring($log_flush_interval => \&DXLog::flushall);
+my $cpusecs_loop = Mojo::IOLoop->recurring(5 => sub {my @t = times; $clssecs = $t[0]+$t[1]; $cldsecs = $t[2]+$t[3]});
 
 Web::start_node();