* @param mixed $transports name of a single queue or array of queues to pull from
* If not specified, checks all queues in the system.
*/
- static function top($transports=null) {
+ static function top($transports=null, array $ignored_transports=array()) {
$qi = new Queue_item();
if ($transports) {
$qi->transport = $transports;
}
}
+ if (!empty($ignored_transports)) {
+ // @fixme use safer escaping
+ $list = implode("','", array_map(array($qi, 'escape'), $ignored_transports));
+ $qi->whereAdd("transport NOT IN ('$list')");
+ }
$qi->orderBy('created');
$qi->whereAdd('claimed is null');