#feature: add Jenkins deploy monitor & log clean task
This commit is contained in:
@@ -44,7 +44,7 @@ class ScheduledTaskService
|
||||
$tasks[] = [
|
||||
'name' => $name,
|
||||
'command' => $this->getEventCommand($event),
|
||||
'description' => $event->description ?: $name,
|
||||
'description' => $this->getTaskDescription($name),
|
||||
'frequency' => $this->getFrequencyLabel($event->expression),
|
||||
'cron' => $event->expression,
|
||||
'enabled' => $enabledTasks[$name] ?? false,
|
||||
@@ -92,9 +92,15 @@ class ScheduledTaskService
|
||||
|
||||
private function getEventName($event): string
|
||||
{
|
||||
if (property_exists($event, 'mutexName') && $event->mutexName) {
|
||||
return $event->mutexName;
|
||||
// Laravel Schedule 事件的 description 属性存储任务名称
|
||||
// 我们在 routes/console.php 中通过 ->description() 设置
|
||||
|
||||
// 1. 优先使用 description (我们设置的任务标识符)
|
||||
if (property_exists($event, 'description') && $event->description) {
|
||||
return $event->description;
|
||||
}
|
||||
|
||||
// 2. 最后使用命令作为名称
|
||||
return $this->getEventCommand($event);
|
||||
}
|
||||
|
||||
@@ -125,9 +131,27 @@ class ScheduledTaskService
|
||||
'0 */12 * * *' => '每 12 小时',
|
||||
'0 0 * * *' => '每天凌晨 0:00',
|
||||
'0 2 * * *' => '每天凌晨 2:00',
|
||||
'0 3 * * *' => '每天凌晨 3:00',
|
||||
'0 0 * * 0' => '每周日凌晨',
|
||||
'0 0 1 * *' => '每月 1 日凌晨',
|
||||
];
|
||||
return $map[$expression] ?? $expression;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取任务的友好描述文本
|
||||
*/
|
||||
private function getTaskDescription(string $name): string
|
||||
{
|
||||
$descriptions = [
|
||||
'git-monitor-check' => 'Git 监控 - 检查 release 分支变化',
|
||||
'git-monitor-cache' => 'Git 监控 - 刷新 release 缓存',
|
||||
'daily-log-analysis' => 'SLS 日志分析 - 每日分析过去 24 小时日志',
|
||||
'frequent-log-analysis' => 'SLS 日志分析 - 定期分析过去 6 小时日志',
|
||||
'jenkins-monitor' => 'Jenkins 发布监控 - 检查新构建并发送通知',
|
||||
'scheduled-task-refresh' => '定时任务管理 - 刷新定时任务列表',
|
||||
'logs-cleanup' => '日志清理 - 自动删除 7 天前的定时任务日志',
|
||||
];
|
||||
return $descriptions[$name] ?? $name;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user