chore: history page support sharedworker.js

This commit is contained in:
duorameng
2026-05-09 08:42:15 +08:00
parent 95a7de599e
commit 9c174d8db2
10 changed files with 92 additions and 25 deletions
+3
View File
@@ -177,6 +177,9 @@ const (
MaxMessageSize = 1024 * 1024 // 1MB
// MaxLogSize 允许的最大日志大小 (保留末尾 10MB)
MaxLogSize = 10 * 1024 * 1024 // 10MB
// ScriptsDirPlaceholder 脚本目录占位符
ScriptsDirPlaceholder = "$SCRIPTS_DIR$"
)
// TablePrefix 表前缀,从配置文件读取
+4 -4
View File
@@ -42,7 +42,7 @@ func resolveWorkDir(workDir string) string {
return absPath
}
// 如果已经是绝对路径,直接返回
if strings.HasPrefix(workDir, "$SCRIPTS_DIR$") {
if strings.HasPrefix(workDir, constant.ScriptsDirPlaceholder) {
return workDir
}
if filepath.IsAbs(workDir) {
@@ -381,7 +381,7 @@ func (tc *TaskController) deleteRepoPhysicalFiles(task *models.Task) {
}
}
if targetPath == "" || targetPath == "$SCRIPTS_DIR$" {
if targetPath == "" || targetPath == constant.ScriptsDirPlaceholder {
logger.Warnf("[Controller] 任务 %s 无法确定有效的物理删除路径,跳过", task.Name)
return
}
@@ -389,8 +389,8 @@ func (tc *TaskController) deleteRepoPhysicalFiles(task *models.Task) {
// 确定绝对路径
scriptsDir, _ := filepath.Abs(constant.ScriptsWorkDir)
fullPath := targetPath
if strings.HasPrefix(targetPath, "$SCRIPTS_DIR$") {
fullPath = filepath.Join(scriptsDir, strings.TrimPrefix(targetPath, "$SCRIPTS_DIR$"))
if strings.HasPrefix(targetPath, constant.ScriptsDirPlaceholder) {
fullPath = filepath.Join(scriptsDir, strings.TrimPrefix(targetPath, constant.ScriptsDirPlaceholder))
} else if !filepath.IsAbs(targetPath) {
fullPath = filepath.Join(scriptsDir, targetPath)
}
+2 -2
View File
@@ -134,9 +134,9 @@ func ParseRepoScriptsAndAddCron(taskID string, logWriter io.Writer, forceComment
displayPath = filepath.Base(path)
relDir, _ := filepath.Rel(absScriptsDir, filepath.Dir(absPath))
if relDir == "." {
displayWorkDir = "$SCRIPTS_DIR$"
displayWorkDir = constant.ScriptsDirPlaceholder
} else {
displayWorkDir = filepath.ToSlash(filepath.Join("$SCRIPTS_DIR$", relDir))
displayWorkDir = filepath.ToSlash(filepath.Join(constant.ScriptsDirPlaceholder, relDir))
}
}
+5 -3
View File
@@ -291,6 +291,7 @@ func (h *ServerSchedulerHandler) OnTaskCompleted(req *executor.ExecutionRequest,
eventbus.DefaultBus.Publish(eventbus.Event{
Type: eventType,
Payload: map[string]interface{}{
"log_id": req.LogID,
"task_id": task.ID,
"task_name": task.Name,
"status": result.Status,
@@ -372,6 +373,7 @@ func (h *ServerSchedulerHandler) OnTaskFailed(req *executor.ExecutionRequest, er
eventbus.DefaultBus.Publish(eventbus.Event{
Type: constant.EventTaskFailed,
Payload: map[string]interface{}{
"log_id": req.LogID,
"task_id": taskID,
"task_name": taskName,
"error": err.Error(),
@@ -1099,9 +1101,9 @@ func BuildRepoCommand(task *models.Task) (string, string) {
displayTargetPath := absTargetPath
if rel, err := filepath.Rel(scriptsDir, absTargetPath); err == nil && !strings.HasPrefix(rel, "..") {
if rel == "." {
displayTargetPath = "$SCRIPTS_DIR$"
displayTargetPath = constant.ScriptsDirPlaceholder
} else {
displayTargetPath = "$SCRIPTS_DIR$/" + filepath.ToSlash(rel)
displayTargetPath = constant.ScriptsDirPlaceholder + "/" + filepath.ToSlash(rel)
}
}
@@ -1233,7 +1235,7 @@ func (es *ExecutorService) refreshExecutionRequestEnvs(req *executor.ExecutionRe
func (es *ExecutorService) ResolvePath(path string) string {
absScriptsDir := resolveAbsScriptsDir()
return strings.ReplaceAll(path, "$SCRIPTS_DIR$", absScriptsDir)
return strings.ReplaceAll(path, constant.ScriptsDirPlaceholder, absScriptsDir)
}
func buildRepoCommandEnvPrefix() string {