%PDF- %PDF-
| Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/humhub/modules/queue/driver/ |
| Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/humhub/modules/queue/driver/Redis.php |
<?php
/**
* @link https://www.humhub.org/
* @copyright Copyright (c) 2017 HumHub GmbH & Co. KG
* @license https://www.humhub.com/licences
*/
namespace humhub\modules\queue\driver;
use humhub\modules\queue\interfaces\QueueInfoInterface;
use yii\queue\redis\Queue;
/**
* Redis queue driver
*
* @since 1.2
* @author Luke
*/
class Redis extends Queue implements QueueInfoInterface
{
/**
* @return int|null the number of waiting jobs in the queue
*/
public function getWaitingJobCount()
{
return (int)$this->redis->llen($this->channel . ".waiting");
}
/**
* @return int|null the number of delayed jobs in the queue
*/
public function getDelayedJobCount()
{
return (int)$this->redis->zcount($this->channel . ".delayed", '-inf', '+inf');
}
/**
* @return int|null the number of reserved jobs in the queue
*/
public function getReservedJobCount()
{
return (int)$this->redis->zcount($this->channel . ".reserved", '-inf', '+inf');
}
/**
* @return int|null the number of done jobs in the queue
*/
public function getDoneJobCount()
{
$total = $this->redis->get($this->channel . ".message_id");
return $total - $this->getWaitingJobCount() - $this->getDelayedJobCount() - $this->getReservedJobCount();
}
}