better queue manager detection, new method fail()

This commit is contained in:
Evan Prodromou 2009-07-01 12:09:18 -04:00
parent e0bf8ad95b
commit 887d35cfc8
1 changed files with 18 additions and 13 deletions

View File

@ -39,22 +39,22 @@ class QueueManager
if (Event::handle('StartNewQueueManager', array(&self::$qm))) {
$enabled = common_config('queue', 'enabled');
$type = common_config('queue', 'sub');
$type = common_config('queue', 'subsystem');
if (!$enabled) {
// does everything immediately
return new UnQueueManager();
}
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'");
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'");
}
}
}
@ -81,4 +81,9 @@ class QueueManager
{
throw ServerException("Unimplemented function 'done' called");
}
function fail($object, $queue)
{
throw ServerException("Unimplemented function 'fail' called");
}
}