X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Fqueuemanager.php;h=37091af49e1e705de56637a232097ef3d879b4aa;hb=c8b8f07af14ad2ce9d0c0267962dd3bbf6473a4b;hp=92f0e10de633b8e44bb046c326ced402c7b9f0c9;hpb=4c256a6d7ee287def5c26f401c8caa6bfe0b8dff;p=quix0rs-gnu-social.git diff --git a/lib/queuemanager.php b/lib/queuemanager.php index 92f0e10de6..37091af49e 100644 --- a/lib/queuemanager.php +++ b/lib/queuemanager.php @@ -1,6 +1,6 @@ . * * @category QueueManager - * @package Laconica + * @package StatusNet * @author Evan Prodromou * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @copyright 2009 StatusNet, Inc. * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link http://laconi.ca/ */ @@ -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"); } }