Example #1
0
 public function setUp()
 {
     Queue::factory();
     $this->object = new Worker();
     $this->object->setInterval(0.5);
 }
Example #2
0
 /**
  *
  * @param string $name
  * @param array $data
  * @param int $priority
  * @param string $unique_id
  * @param string $methodName
  *
  * @return Task
  */
 public static function create($name, $data = array(), $priority = self::PRIORITY_NORMAL, $unique_id = null, $methodName = null)
 {
     $queue = Queue::get();
     $task = new self($name, $data, $priority, $unique_id, $methodName);
     $queue->addTask($task);
     return $task;
 }
Example #3
0
 /**
  *
  * @return Queue
  */
 public function getQueue()
 {
     if (null === $this->_queue) {
         $this->_queue = Queue::get();
     }
     return $this->_queue;
 }
Example #4
0
 /**
  * @covers \Qutee\Task::create
  * @todo This is integrational test, not unit test, remedy!
  */
 public function testCreatingTaskViaStaticMethodAddsTaskToQueue()
 {
     $queue = Queue::factory();
     $this->assertEmpty($queue->getTasks());
     $data = array('test' => 'data');
     Task::create('TestTask', $data, Task::PRIORITY_LOW, 'unq', 'methodName');
     $task = $queue->getTask();
     $this->assertInstanceOf('\\Qutee\\Task', $task);
     $this->assertEquals('TestTask', $task->getName());
     $this->assertEquals(Task::PRIORITY_LOW, $task->getPriority());
     $this->assertEquals(md5('TestTaskunq'), $task->getUniqueId());
     $this->assertEquals('methodName', $task->getMethodName());
     $this->assertSame($data, $task->getData());
 }
Example #5
0
<?php

/*
 * php app.php
 */
$loader = (require_once __DIR__ . "/../vendor/autoload.php");
$loader->add('Acme', __DIR__);
use Qutee\Queue;
use Qutee\Task;
use Qutee\Worker;
// Setup our queue with persistor of choice, preferably in
// Dependency Injection Container
$redisParams = array('host' => '127.0.0.1', 'port' => 6379);
$queuePersistor = new Qutee\Persistor\Redis($redisParams);
$queue = new Queue();
$queue->setPersistor($queuePersistor);
// Create a task
$task = new Task();
$task->setName('Acme/SendMail')->setData(array('to' => '*****@*****.**', 'from' => '*****@*****.**', 'subject' => 'Hi!', 'text' => 'It\'s your faithful QuTee!'))->setPriority(Task::PRIORITY_HIGH)->setUniqueId('*****@*****.**');
// Queue it
$queue->addTask($task);
// Or do this in one go, if you set the queue (bootstrap maybe?)
Task::create('Acme/SendMail', array('to' => '*****@*****.**', 'from' => '*****@*****.**', 'subject' => 'Hi!', 'text' => 'It\'s your faithful QuTee!'), Task::PRIORITY_HIGH);
// Send worker to do it
$worker = new Worker();
$worker->setQueue($queue)->setPriority(Task::PRIORITY_HIGH);
while (true) {
    try {
        if (null !== ($task = $worker->run())) {
            echo 'Ran task: ' . $task->getName() . PHP_EOL;
        }
Example #6
0
 /**
  * @covers \Qutee\Queue::get
  * @expectedException \Qutee\Exception
  */
 public function testGettingQueueWithoutPreviouslyCreatingItThrowsException()
 {
     Queue::setInstance(null);
     Queue::get();
 }