diff --git a/application/api/controller/Queueinfo.php b/application/api/controller/Queueinfo.php index c025553..5485d2a 100644 --- a/application/api/controller/Queueinfo.php +++ b/application/api/controller/Queueinfo.php @@ -33,7 +33,7 @@ class Queueinfo extends Base $redis->select($config['select']); // 获取不同队列类型的任务数 - $aQueue = empty($aParam['queue_name']) ? ['ArticleAiCreateContent','WechatMaterial','WechatDraft','WechatQueryStatus'] : [$aParam['queue_name']]; + $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, @@ -51,7 +51,55 @@ class Queueinfo extends Base $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值删除