Пример #1
0
 /**
  * @return void
  */
 public function init()
 {
     parent::init();
     if (!is_numeric($this->sleepTimeout)) {
         throw new InvalidParamException('($sleepTimeout) must be an number');
     }
     if ($this->sleepTimeout < 0) {
         throw new InvalidParamException('($sleepTimeout) must be greater or equal than 0');
     }
     $this->queue = \yii\di\Instance::ensure($this->queue, Queue::className());
 }
Пример #2
0
 public function testOn()
 {
     \yii\base\Event::on(\UrbanIndo\Yii2\Queue\Queue::className(), \UrbanIndo\Yii2\Queue\Queue::EVENT_AFTER_POST, function ($event) {
         $this->counter += 1;
     });
     \yii\base\Event::on(\UrbanIndo\Yii2\Queue\Queue::className(), \UrbanIndo\Yii2\Queue\Queue::EVENT_AFTER_FETCH, function ($event) {
         $this->counter += 2;
     });
     \yii\base\Event::on(\UrbanIndo\Yii2\Queue\Queue::className(), \UrbanIndo\Yii2\Queue\Queue::EVENT_AFTER_DELETE, function ($event) {
         $this->counter += 3;
     });
     $queue = Yii::createObject(['class' => '\\UrbanIndo\\Yii2\\Queue\\Queues\\MemoryQueue']);
     $this->assertEquals($this->counter, 0);
     /* @var $queue \UrbanIndo\Yii2\Queue\Queues\MemoryQueue */
     $queue->post(new UrbanIndo\Yii2\Queue\Job(['route' => function () {
         //Do something
     }]));
     $this->assertEquals($this->counter, 1);
     $job = $queue->fetch();
     $this->assertEquals($this->counter, 3);
     $queue->delete($job);
     $this->assertEquals($this->counter, 6);
 }
Пример #3
0
 /**
  * @return void
  */
 public function init()
 {
     parent::init();
     $this->queue = \yii\di\Instance::ensure($this->queue, Queue::className());
 }
Пример #4
0
 /**
  * Initialize the queue.
  * @return void
  */
 public function init()
 {
     parent::init();
     $this->queue = \yii\di\Instance::ensure($this->queue, Queue::className());
     $this->_hasEventHandlers = !\yii\helpers\ArrayHelper::isIndexed($this->events, true);
     if ($this->_hasEventHandlers) {
         foreach ($this->events as $attr => $handler) {
             if (is_callable($handler)) {
                 if (!isset($this->_serializer)) {
                     $this->_serializer = new \SuperClosure\Serializer();
                 }
                 $this->events[$attr] = $this->_serializer->serialize($handler);
             }
         }
     }
 }
Пример #5
0
 /**
  * @return void
  */
 public function init()
 {
     parent::init();
     \Yii::$app->getResponse()->format = 'json';
     $this->queue = \yii\di\Instance::ensure($this->queue, Queue::className());
 }