]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/queuemanager.php
Merge commit 'jeff-themovie/0.8.x-profile-value' into 0.8.x
[quix0rs-gnu-social.git] / lib / queuemanager.php
index 92f0e10de633b8e44bb046c326ced402c7b9f0c9..582c247901a5902ce91c30a713e2c9a9750a4fba 100644 (file)
@@ -36,24 +36,30 @@ class QueueManager
     {
         if (empty(self::$qm)) {
 
-            $type = common_config('queue', 'sub');
+            if (Event::handle('StartNewQueueManager', array(&self::$qm))) {
 
-            if (Event::handle('StartNewQueueManager', array($type, &self::$qm))) {
+                $enabled = common_config('queue', 'enabled');
+                $type = common_config('queue', 'subsystem');
 
-                switch ($type) {
-                 case 'db':
-                    self::$qm = new DBQueueManager();
-                    break;
-                 case 'stomp':
-                    self::$qm = new StompQueueManager();
-                    break;
-                 default:
-                    throw new ServerException("No queue manager class for type '$type'");
+                if (!$enabled) {
+                    // does everything immediately
+                    self::$qm = new UnQueueManager();
+                } else {
+                    switch ($type) {
+                     case 'db':
+                        self::$qm = new DBQueueManager();
+                        break;
+                     case 'stomp':
+                        self::$qm = new StompQueueManager();
+                        break;
+                     default:
+                        throw new ServerException("No queue manager class for type '$type'");
+                    }
                 }
             }
-
-            return self::$qm;
         }
+
+        return self::$qm;
     }
 
     function enqueue($object, $queue)
@@ -61,18 +67,8 @@ class QueueManager
         throw ServerException("Unimplemented function 'enqueue' called");
     }
 
-    function peek($queue)
-    {
-        throw ServerException("Unimplemented function 'peek' called");
-    }
-
-    function nextItem($queue, $timeout=null)
-    {
-        throw ServerException("Unimplemented function 'nextItem' called");
-    }
-
-    function done($object, $queue)
+    function service($queue, $handler)
     {
-        throw ServerException("Unimplemented function 'done' called");
+        throw ServerException("Unimplemented function 'service' called");
     }
 }