chore: history page support sharedworker.js
This commit is contained in:
@@ -177,6 +177,9 @@ const (
|
||||
MaxMessageSize = 1024 * 1024 // 1MB
|
||||
// MaxLogSize 允许的最大日志大小 (保留末尾 10MB)
|
||||
MaxLogSize = 10 * 1024 * 1024 // 10MB
|
||||
|
||||
// ScriptsDirPlaceholder 脚本目录占位符
|
||||
ScriptsDirPlaceholder = "$SCRIPTS_DIR$"
|
||||
)
|
||||
|
||||
// TablePrefix 表前缀,从配置文件读取
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user