protected $handlers = array();
protected $groups = array();
protected $activeGroups = array();
+ protected $ignoredTransports = array();
/**
* Factory function to pull the appropriate QueueManager object
// If it is a string, we really store a JSON object in there
// except if it begins with '<', because then it is XML.
- if (is_string($object) && substr($object, 0, 1) != '<') {
+ if (is_string($object) &&
+ substr($object, 0, 1) != '<' &&
+ !is_numeric($object))
+ {
$json = json_decode($object);
if ($json === null) {
throw new Exception('Bad frame in queue item');
} else {
$this->_log(LOG_ERR, "Nonexistent handler class '$class' for queue '$queue'");
}
- } else {
- $this->_log(LOG_ERR, "Requested handler for unkown queue '$queue'");
}
- return null;
+ throw new NoQueueHandlerException($queue);
}
/**
return array_keys($queues);
}
+ function getIgnoredTransports()
+ {
+ return array_keys($this->ignoredTransports);
+ }
+
+ function ignoreTransport($transport)
+ {
+ // key is used for uniqueness, value doesn't mean anything
+ $this->ignoredTransports[$transport] = true;
+ }
+
/**
* Initialize the list of queue handlers for the current site.
*