public function onList(QueueListEvent $event) { try { $query = $this->gateway->selectQuery()->start(); if ($event->getState() !== null) { $query->filterByState($event->getState()); } if ($event->getAfter() instanceof DateTime) { $query->filterByAddedAfter($event->getAfter()); } if ($event->getBefore() instanceof DateTime) { $query->filterByAddedBefore($event->getBefore()); } if ($event->getLimit() !== null) { $query->limit($event->getLimit()); } if ($event->getOffset() !== null) { $query->offset($event->getOffset()); } # set the order by the date added $query->orderByDateAdded($event->getOrder()); $event->setResult($query->end()->find()); } catch (DBALGatewayException $e) { throw new LaterJobException($e->getMessage(), 0, $e); } }