projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
make sure nothing can be sent to AGW after error
[spider.git]
/
perl
/
cluster.pl
diff --git
a/perl/cluster.pl
b/perl/cluster.pl
index 9178a7277c54893055a4c3f95c87096994c1081c..0fe3b575a98588be279dac7e658f24170219a8e3 100755
(executable)
--- a/
perl/cluster.pl
+++ b/
perl/cluster.pl
@@
-102,6
+102,7
@@
use RouteDB;
use DXXml;
use DXSql;
use IsoTime;
use DXXml;
use DXSql;
use IsoTime;
+use BPQMsg;
use Data::Dumper;
use IO::File;
use Data::Dumper;
use IO::File;
@@
-240,10
+241,12
@@
sub cease
DXUser::sync;
DXUser::sync;
- eval {
- Local::finish(); # end local processing
- };
- dbg("Local::finish error $@") if $@;
+ if (defined &Local::finish) {
+ eval {
+ Local::finish(); # end local processing
+ };
+ dbg("Local::finish error $@") if $@;
+ }
# disconnect nodes
foreach $dxchan (DXChannel::get_all_nodes) {
# disconnect nodes
foreach $dxchan (DXChannel::get_all_nodes) {
@@
-258,6
+261,7
@@
sub cease
# disconnect AGW
AGWMsg::finish();
# disconnect AGW
AGWMsg::finish();
+ BPQMsg::finish();
# disconnect UDP customers
UDPMsg::finish();
# disconnect UDP customers
UDPMsg::finish();
@@
-409,6
+413,9
@@
foreach my $l (@main::listen) {
dbg("AGW Listener") if $AGWMsg::enable;
AGWrestart();
dbg("AGW Listener") if $AGWMsg::enable;
AGWrestart();
+dbg("BPQ Listener") if $BPQMsg::enable;
+BPQMsg::init(\&new_channel);
+
dbg("UDP Listener") if $UDPMsg::enable;
UDPMsg::init(\&new_channel);
dbg("UDP Listener") if $UDPMsg::enable;
UDPMsg::init(\&new_channel);
@@
-484,17
+491,20
@@
DXMsg::clean_old();
dbg("reading cron jobs ...");
DXCron->init();
dbg("reading cron jobs ...");
DXCron->init();
-# read in database des
c
riptors
+# read in database desriptors
dbg("reading database descriptors ...");
DXDb::load();
# starting local stuff
dbg("doing local initialisation ...");
QSL::init(1);
dbg("reading database descriptors ...");
DXDb::load();
# starting local stuff
dbg("doing local initialisation ...");
QSL::init(1);
-eval {
- Local::init();
-};
-dbg("Local::init error $@") if $@;
+if (defined &Local::init) {
+ eval {
+ Local::init();
+ };
+ dbg("Local::init error $@") if $@;
+}
+
# this, such as it is, is the main loop!
dbg("orft we jolly well go ...");
# this, such as it is, is the main loop!
dbg("orft we jolly well go ...");
@@
-533,11
+543,14
@@
for (;;) {
DXUser::process();
DXDupe::process();
AGWMsg::process();
DXUser::process();
DXDupe::process();
AGWMsg::process();
+ BPQMsg::process();
- eval {
- Local::process(); # do any localised processing
- };
- dbg("Local::process error $@") if $@;
+ if (defined &Local::process) {
+ eval {
+ Local::process(); # do any localised processing
+ };
+ dbg("Local::process error $@") if $@;
+ }
}
if ($decease) {
last if --$decease <= 0;
}
if ($decease) {
last if --$decease <= 0;