]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
--xmpp-only hack for queuedaemon.php to run separate queue daemon with only xmpp...
authorBrion Vibber <brion@status.net>
Fri, 15 Jan 2010 19:13:06 +0000 (11:13 -0800)
committerBrion Vibber <brion@status.net>
Fri, 15 Jan 2010 19:13:06 +0000 (11:13 -0800)
lib/queuemanager.php
lib/stompqueuemanager.php
scripts/queuedaemon.php

index b98e57a1ffd1e5f9d7a2ae2d833a4efbf9770518..291174d3c4729a7ac11e5f561fc497ff0ce3b17a 100644 (file)
@@ -149,11 +149,13 @@ abstract class QueueManager extends IoManager
     function initialize()
     {
         if (Event::handle('StartInitializeQueueManager', array($this))) {
-            $this->connect('plugin', 'PluginQueueHandler');
-            $this->connect('omb', 'OmbQueueHandler');
-            $this->connect('ping', 'PingQueueHandler');
-            if (common_config('sms', 'enabled')) {
-                $this->connect('sms', 'SmsQueueHandler');
+            if (!defined('XMPP_ONLY_FLAG')) { // hack!
+                $this->connect('plugin', 'PluginQueueHandler');
+                $this->connect('omb', 'OmbQueueHandler');
+                $this->connect('ping', 'PingQueueHandler');
+                if (common_config('sms', 'enabled')) {
+                    $this->connect('sms', 'SmsQueueHandler');
+                }
             }
 
             // XMPP output handlers...
@@ -165,10 +167,14 @@ abstract class QueueManager extends IoManager
                 $this->connect('confirm', 'XmppConfirmHandler');
             }
 
-            // For compat with old plugins not registering their own handlers.
-            $this->connect('plugin', 'PluginQueueHandler');
+            if (!defined('XMPP_ONLY_FLAG')) { // hack!
+                // For compat with old plugins not registering their own handlers.
+                $this->connect('plugin', 'PluginQueueHandler');
+            }
+        }
+        if (!defined('XMPP_ONLY_FLAG')) { // hack!
+            Event::handle('EndInitializeQueueManager', array($this));
         }
-        Event::handle('EndInitializeQueueManager', array($this));
     }
 
     /**
index a7d735d1cf835ec808b6148d8cb7ff95c49caa77..00590fdb69f847bfb515767dee653c53425b996b 100644 (file)
@@ -104,7 +104,12 @@ class StompQueueManager extends QueueManager
      */
     function getQueues()
     {
-        return array_keys($this->handlers[common_config('site', 'server')]);
+        $site = common_config('site', 'server');
+        if (empty($this->handlers[$site])) {
+            return array();
+        } else {
+            return array_keys($this->handlers[$site]);
+        }
     }
 
     /**
index f8bade39dbe860e1323fee1ad153bcb18a14431b..162f617e0d6da3a0838469f3fb98148acedd3b11 100755 (executable)
@@ -21,7 +21,7 @@
 define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
 
 $shortoptions = 'fi:at:';
-$longoptions = array('id=', 'foreground', 'all', 'threads=', 'skip-xmpp');
+$longoptions = array('id=', 'foreground', 'all', 'threads=', 'skip-xmpp', 'xmpp-only');
 
 /**
  * Attempts to get a count of the processors available on the current system
@@ -263,6 +263,9 @@ $all = have_option('a') || have_option('--all');
 if (have_option('--skip-xmpp')) {
     define('XMPP_EMERGENCY_FLAG', true);
 }
+if (have_option('--xmpp-only')) {
+    define('XMPP_ONLY_FLAG', true);
+}
 
 $daemon = new QueueDaemon($id, $daemonize, $threads, $all);
 $daemon->runOnce();