feat: add multi env setting support
This commit is contained in:
@@ -61,18 +61,17 @@ const (
|
||||
|
||||
// ExecutionRequest 执行请求(标准接口)
|
||||
type ExecutionRequest struct {
|
||||
TaskID string // 任务 ID
|
||||
LogID uint // 日志 ID
|
||||
Name string // 任务名称
|
||||
Type TaskType // 任务类型
|
||||
Command string // 命令
|
||||
WorkDir string // 工作目录
|
||||
Envs []string // 环境变量
|
||||
Timeout int // 超时时间(分钟)
|
||||
Language string // 语言环境
|
||||
LangVersion string // 语言版本
|
||||
UseMise bool // 是否使用 mise
|
||||
Metadata map[string]interface{} // 额外元数据
|
||||
TaskID string // 任务 ID
|
||||
LogID uint // 日志 ID
|
||||
Name string // 任务名称
|
||||
Type TaskType // 任务类型
|
||||
Command string // 命令
|
||||
WorkDir string // 工作目录
|
||||
Envs []string // 环境变量
|
||||
Timeout int // 超时时间(分钟)
|
||||
Languages []map[string]string // 语言环境配置
|
||||
UseMise bool // 是否使用 mise
|
||||
Metadata map[string]interface{} // 额外元数据
|
||||
}
|
||||
|
||||
// ExecutionResult 执行结果(标准接口)
|
||||
@@ -197,13 +196,12 @@ func NewScheduler(config SchedulerConfig, handler SchedulerEventHandler) *Schedu
|
||||
executor: func(ctx context.Context, req *ExecutionRequest, stdout, stderr io.Writer) (*Result, error) {
|
||||
hooks := &schedulerHooksAdapter{handler: handler, req: req}
|
||||
return ExecuteWithHooks(ctx, Request{
|
||||
Command: req.Command,
|
||||
WorkDir: req.WorkDir,
|
||||
Envs: req.Envs,
|
||||
Timeout: req.Timeout,
|
||||
Language: req.Language,
|
||||
LangVersion: req.LangVersion,
|
||||
UseMise: req.UseMise,
|
||||
Command: req.Command,
|
||||
WorkDir: req.WorkDir,
|
||||
Envs: req.Envs,
|
||||
Timeout: req.Timeout,
|
||||
Languages: req.Languages,
|
||||
UseMise: req.UseMise,
|
||||
}, stdout, stderr, hooks)
|
||||
},
|
||||
taskQueue: make(chan *ExecutionRequest, config.QueueSize),
|
||||
@@ -317,7 +315,7 @@ func (s *Scheduler) executeTask(req *ExecutionRequest) (*ExecutionResult, error)
|
||||
|
||||
finalCommand := req.Command
|
||||
if req.UseMise {
|
||||
finalCommand = BuildLanguageCommand(req.Command, req.Language, req.LangVersion)
|
||||
finalCommand = BuildLanguageCommand(req.Command, req.Languages)
|
||||
}
|
||||
s.logger.Infof("[Scheduler] 实际执行命令: %s", finalCommand)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user