improve spawn dbg, move "use Mojolicious"
[spider.git] / perl / cluster.pl
index ef565eb7ddebae52ad0dac1246500f1b87b4d52a..6dc3573ad5cde6312f58ccdaf2f462fdef3b7224 100755 (executable)
@@ -89,6 +89,10 @@ use SysVar;
 
 use strict;
 
+# order here is important - DXDebug snarfs Carp et al so that Mojo errors go into the debug log
+use DXDebug;
+
+use Mojolicious 7.26;
 use Mojo::IOLoop;
 
 use Msg;
@@ -98,7 +102,6 @@ use Listeners;
 use ExtMsg;
 use AGWConnect;
 use AGWMsg;
-use DXDebug;
 use DXLog;
 use DXLogPrint;
 use DXUtil;
@@ -144,6 +147,8 @@ use DXSql;
 use IsoTime;
 use BPQMsg;
 
+
+
 use Data::Dumper;
 use IO::File;
 use Fcntl ':flock';
@@ -239,7 +244,7 @@ sub new_channel
                                return;
                        }
                        if ($bumpexisting) {
-                               my $ip = $conn->peerhost || 'unknown';
+                               my $ip = $dxchan->hostname;
                                $dxchan->send_now('D', DXM::msg($lang, 'conbump', $call, $ip));
                                LogDbg('DXCommand', "$call bumped off by $ip, disconnected");
                                $dxchan->disconnect;
@@ -272,7 +277,7 @@ sub new_channel
                my $lock = $user->lockout if $user;
                if ($baseuser && $baseuser->lockout || $lock) {
                        if (!$user || !defined $lock || $lock) {
-                               my $host = $conn->peerhost || "unknown";
+                               my $host = $conn->peerhost;
                                LogDbg('DXCommand', "$call on $host is locked out, disconnected");
                                $conn->disconnect;
                                return;
@@ -632,6 +637,8 @@ our $io_disconnected;
 sub idle_loop
 {
        BPQMsg::process();
+       DXCommandmode::process(); # process ongoing command mode stuff
+       DXProt::process();              # process ongoing ak1a pcxx stuff
 
        if (defined &Local::process) {
                eval {
@@ -677,9 +684,7 @@ sub per_sec
        }
        IsoTime::update($systime);
        DXCron::process();      # do cron jobs
-       DXCommandmode::process(); # process ongoing command mode stuff
        DXXml::process();
-       DXProt::process();              # process ongoing ak1a pcxx stuff
        DXConnect::process();
        DXMsg::process();
        DXDb::process();
@@ -687,7 +692,6 @@ sub per_sec
        DXDupe::process();
        DXCron::process();                      # do cron jobs
        IsoTime::update($systime);
-       DXProt::process();                      # process ongoing ak1a pcxx stuff
        DXConnect::process();
        DXUser::process();
        AGWMsg::process();