瀏覽代碼

feat: 添加每个队列任务的最新一次执行记录

runphp 1 月之前
父節點
當前提交
a1b4a17e97
共有 1 個文件被更改,包括 24 次插入0 次删除
  1. 24 0
      src/Entity/QueueJobLogEntity.php

+ 24 - 0
src/Entity/QueueJobLogEntity.php

@@ -67,6 +67,30 @@ class QueueJobLogEntity extends BaseEntity
         }
     }
 
+    /**
+     * 获取每个任务的最新一次执行记录
+     */
+    public function getLatestPerJob(): array
+    {
+        $subQuery = $this->field('MAX(id) as max_id')
+            ->group('name')
+            ->buildSql();
+
+        $records = $this->where('id IN ' . $subQuery)
+            ->order('id', 'desc')
+            ->select()
+            ->toArray();
+
+        return array_map(function (array $record): array {
+            return [
+                'name' => $record['name'],
+                'last_time' => $record['create_time'],
+                'duration' => $record['duration'],
+                'success' => $record['success'],
+            ];
+        }, $records);
+    }
+
     /**
      * 删除单条日志
      */