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)
|
|
|
|
|
}
|