/** * @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()); }
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); }
/** * @return void */ public function init() { parent::init(); $this->queue = \yii\di\Instance::ensure($this->queue, Queue::className()); }
/** * 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); } } } }
/** * @return void */ public function init() { parent::init(); \Yii::$app->getResponse()->format = 'json'; $this->queue = \yii\di\Instance::ensure($this->queue, Queue::className()); }