/** * @test */ public function getQueueReusesInstances() { $queueManager = new QueueManager(); $queueManager->injectSettings(array('queues' => array('TestQueue' => array('className' => 'TYPO3\\Jobqueue\\Common\\Tests\\Unit\\Fixtures\\TestQueue')))); $queue = $queueManager->getQueue('TestQueue'); $this->assertSame($queue, $queueManager->getQueue('TestQueue')); }
/** * @test */ public function queuePublishesMessageToQueue() { $job = new TestJob(); $this->jobManager->queue('TestQueue', $job); $testQueue = $this->queueManager->getQueue('TestQueue'); $message = $testQueue->peek(); $this->assertInstanceOf('TYPO3\\Jobqueue\\Common\\Queue\\Message', $message); }
/** * * @param string $queueName * @param integer $limit * @return array */ public function peek($queueName, $limit = 1) { $queue = $this->queueManager->getQueue($queueName); $messages = $queue->peek($limit); return array_map(function (Message $message) { $job = unserialize($message->getPayload()); return $job; }, $messages); }
/** * List queued jobs * * @param string $queueName The name of the queue * @param integer $limit Number of jobs to list * @return void */ public function listCommand($queueName, $limit = 1) { $jobs = $this->jobManager->peek($queueName, $limit); $totalCount = $this->queueManager->getQueue($queueName)->count(); foreach ($jobs as $job) { $this->outputLine('<u>%s</u>', array($job->getLabel())); } if ($totalCount > count($jobs)) { $this->outputLine('(%d omitted) ...', array($totalCount - count($jobs))); } $this->outputLine('(<b>%d total</b>)', array($totalCount)); }