public function onQueryActivity(QueueQueryActivityEvent $event) { try { $query = $this->gateway->selectQuery()->start(); if ($event->getAfter() instanceof DateTime) { $query->filterOccuredAfter($event->getAfter()); } if ($event->getBefore() instanceof DateTime) { $query->filterOccuredBefore($event->getBefore()); } if ($event->getLimit() !== null) { $query->limit($event->getLimit()); } if ($event->getOffset() !== null) { $query->offset($event->getOffset()); } if ($event->getWorkerID() !== null) { $query->filterByWorker($event->getWorkerID()); } if ($event->getJobID() !== null) { $query->filterByJob($event->getJobID()); } # set the order by the date added $query->orderByOccured($event->getOrder()); $event->setResult($query->end()->find()); } catch (DBALGatewayException $e) { throw new LaterJobException($e->getMessage(), 0, $e); } }
/** * Log events that occur from queue * * @access public * @param QueueQueryActivityEvent $event */ public function logQueueQueryActivityEvent(QueueQueryActivityEvent $event) { $this->log->info('QueueQueryActivityEvent:: Running activity query using params', array('offset' => $event->getOffset(), 'limit' => $event->getLimit(), 'order' => $event->getOrder(), 'before' => $event->getBefore(), 'after' => $event->getAfter(), 'job_id' => $event->getJobID(), 'worker_id' => $event->getWorkerID())); }
public function testQueueActivtyEvent() { $offset = 3; $limit = 100; $before = new DateTime(); $after = new DateTime(); $order = 'asc'; $event = new QueueQueryActivityEvent($offset, $limit, $order, $before, $after); $this->assertEquals($offset, $event->getOffset()); $this->assertEquals($limit, $event->getLimit()); $this->assertEquals($before, $event->getBefore()); $this->assertEquals($after, $event->getAfter()); $this->assertEquals($order, $event->getOrder()); }