<?php
/**
* for queue operation
*/
namespace app\common\util\QueueHelp;
use think\facade\Log;
class Queue{
function __construct($config)
{
//暂时只支持redis一种,之后增加其它方式改为工厂模式
$this->redisQueue = new RedisQueue($config);
}
public function push($queue, $obj, $type='redis')
{
$result = $this->redisQueue->push($queue, $obj);
log::info('[INFO] Queue model push to '.$type.' '.json_encode($obj).' result:'.json_encode($result));
return $result;
}
public function queueSize($queue, $type='redis')
{
$result = $this->redisQueue->queueSize($queue);
log::info('[INFO] Queue size: '.$queue.' '.json_encode($result));
return $result;
}
public function pull($queue, $type='redis')
{
$result = $this->redisQueue->pull($queue);
log::info('[INFO] Queue model pull data result:'.json_encode($result));
return $result;
}
}