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 = empty($aParam['queue_name']) ? ['ArticleAiCreateContent','RecommendReviewer','RelatedArticle','ReviewerScore','RevisionReviewer','SendRelatedArticleEmail','SendReviewEmail','WechatDraft','WechatDraftPublish','WechatMaterial','WechatQueryStatus'] : [$aParam['queue_name']]; 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);
}
public function removeKey() {
$aParam = $this->request->post();
$config = \think\Config::get('queue');
$config['queue'] = empty($aParam['queue_name']) ? '' : $aParam['queue_name'];
if(empty($config['queue'])){
exit('非法操作');
}
$redis = new \Redis();
$redis->connect($config['host'], $config['port']);
if (!empty($config['password'])) {
$redis->auth($config['password']);
}
$redis->select($config['select']);
// 获取不同队列类型的任务数
$aQueue = empty($aParam['queue_name']) ? ['ArticleAiCreateContent','WechatMaterial','WechatDraft','WechatQueryStatus'] : [$aParam['queue_name']];
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);
}
if ($redis->exists($key)) {
$redis->del($key);
var_dump("已删除队列键:{$key}");exit();
}
}
}
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;
}
public function getKey(){
$aParam = $this->request->post();
if(empty($aParam['key_name'])){
exit('非法操作');
}
$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']);
$sKey = $redis->hGetAll($aParam['key_name']);
echo '我是HgetAll';
var_dump($sKey);
$sKey = $redis->get($aParam['key_name']);
var_dump($sKey);
}
public function removeKey1(){
$aParam = $this->request->post();
if(empty($aParam['key_name'])){
exit('非法操作');
}
$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']);
$sKey = $redis->hGetAll($aParam['key_name']);
echo '我是HgetAll';
var_dump($sKey);
$result = $redis->del($aParam['key_name']);
var_dump($result);
echo '我是get';
$sKey = $redis->get($aParam['key_name']);
var_dump($sKey);
$result = $redis->del($aParam['key_name']);
var_dump($result);
}
}