X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2Fcluster.pl;h=6495027be2a3a97f5276685434c908be7005ccde;hb=8be46ac1786265a7ba6ee91b31141ecd017ecb49;hp=4aa81c62e939b52467dbbe1a4bb24de4b5a69c02;hpb=e57c3e3573db848a474524fbe9723dea52e151a1;p=spider.git diff --git a/perl/cluster.pl b/perl/cluster.pl index 4aa81c62..6495027b 100755 --- a/perl/cluster.pl +++ b/perl/cluster.pl @@ -15,12 +15,31 @@ package main; require 5.10.1; use warnings; -use vars qw($root $is_win $systime); +use vars qw($root $is_win $systime $lockfn @inqueue $starttime $lockfn @outstanding_connects + $zombies @listeners $lang $myalias @debug $userfn $clusteraddr + $clusterport $mycall $decease $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 + ); + +$lang = 'en'; # default language +$clusteraddr = '127.0.0.1'; # cluster tcp host address - used for things like console.pl +$clusterport = 27754; # cluster tcp port +$yes = 'Yes'; # visual representation of yes +$no = 'No'; # ditto for no +$user_interval = 11*60; # the interval between unsolicited prompts if no traffic # make sure that modules are searched in the order local then perl BEGIN { umask 002; + # take into account any local::lib that might be present + eval { + require local::lib; + }; + import local::lib unless ($@); + # root of directory tree for this system $root = "/spider"; $root = $ENV{'DXSPIDER_ROOT'} if $ENV{'DXSPIDER_ROOT'}; @@ -42,7 +61,7 @@ BEGIN { # try to create and lock a lockfile (this isn't atomic but # should do for now - my $lockfn = "$root/local_data/cluster.lck"; # lock file name + $lockfn = "$root/local_data/cluster.lck"; # lock file name if (-w $lockfn) { open(CLLOCK, "$lockfn") or die "Can't open Lockfile ($lockfn) $!"; my $pid = ; @@ -69,7 +88,7 @@ use DXVars; use SysVar; use strict; - + use Mojo::IOLoop; use Msg; @@ -134,13 +153,6 @@ use Web; use Local; -use vars qw(@inqueue $starttime $lockfn @outstanding_connects - $zombies @listeners $lang $myalias @debug $userfn $clusteraddr - $clusterport $mycall $decease $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 - ); @inqueue = (); # the main input queue, an array of hashes $systime = 0; # the time now (in seconds)