go20/devops/agent/tasks/interface.go

27 lines
601 B
Go
Raw Normal View History

2026-03-08 18:05:17 +08:00
package tasks
import (
"context"
"devops/server/apps/task"
)
2026-03-15 17:03:15 +08:00
var (
// Task 运行器注册表
taskRunnerRegistry = make(map[string]TaskRunner)
)
func RegisterTaskRunner(name string, runner TaskRunner) {
taskRunnerRegistry[name] = runner
}
func GetTaskRunner(name string) TaskRunner {
return taskRunnerRegistry[name]
}
2026-03-08 18:05:17 +08:00
// Task 是一个接口,定义了任务的基本行为
// 任务名称: task_debug, 任务描述: 调试任务, 任务类型: debug, 任务参数: {}
type TaskRunner interface {
// 任务需要的运行能力
Run(context.Context, *task.TaskSpec) (*task.Task, error)
}