proxy = ''; parent::__construct($request); } // Redis队列展示 public function show() { $aParam = $this->request->post(); $config = \think\Config::get('queue'); $config['queue'] = empty($aParam['queue_name']) ? 'ArticleAiCreateContent' : $aParam['queue_name']; $redis = new \Redis(); $redis->connect($config['host'], $config['port']); if (!empty($config['password'])) { $redis->auth($config['password']); } $redis->select($config['select']); // 获取不同队列类型的任务数 $aQueue = ['ArticleAiCreateContent','WechatMaterial','WechatDraft','WechatQueryStatus']; foreach ($aQueue as $key => $value) { $types[$value] = [ 'pending' => 'queues:'.$value, 'delayed' => 'queues:'.$value.':delayed', 'failed' => 'queues:'.$value.':failed', 'reserved' => 'queues:'.$value.':reserved', ]; } $counts = []; foreach ($types as $k => $value) { foreach ($value as $type => $key) { if($type == 'pending'){ $counts[$k][$key] = $redis->lrange($key,0,-1); }else{ $counts[$k][$key] = $redis->zRange($key,0,-1); } } } echo '
';var_dump($counts);
}
// Redis值删除
public function remove() {
$aParam = $this->request->post();
$config = \think\Config::get('queue');
$sQueueName = empty($aParam['queue_name']) ? 'ArticleAiCreateContent' : $aParam['queue_name'];
$redis = new \Redis();
$redis->connect($config['host'], $config['port']);
if (!empty($config['password'])) {
$redis->auth($config['password']);
}
$redis->select($config['select']);
$sQueueType = empty($aParam['queue_type']) ? '' : $aParam['queue_type'];
$iNum = empty($aParam['queue_num']) ? 0 : $aParam['queue_num'];
if(empty($iNum) || empty($sQueueType)){
echo '非法操作';
exit;
}
// 获取不同队列类型的任务数
$sKey = 'queues:'.$sQueueName;
if(!empty($sQueueType)){
$sKey .= ':'.$sQueueType;
}
$counts = [];
if($sQueueType == 'pending'){
$sQueueInfo = $redis->LINDEX($sKey,$iNum);
}else{
$sQueueInfo = $redis->ZRANGE($sKey,0,-1);
}
if(!empty($sQueueInfo)){
}
echo '';var_dump($sQueueInfo,$sKey,$iNum);exit;
}
}