feat: add multi env setting support

This commit is contained in:
engigu
2026-02-13 19:26:20 +08:00
parent 8a52be9241
commit 3ab1ddc03a
13 changed files with 322 additions and 302 deletions
+22 -28
View File
@@ -43,17 +43,16 @@ type WSMessage struct {
}
type AgentTask struct {
ID uint `json:"id"`
Name string `json:"name"`
Command string `json:"command"`
Schedule string `json:"schedule"`
Cron string `json:"cron"`
Timeout int `json:"timeout"`
WorkDir string `json:"work_dir"`
Envs string `json:"envs"`
Language string `json:"language"`
LangVersion string `json:"lang_version"`
Enabled bool `json:"enabled"`
ID uint `json:"id"`
Name string `json:"name"`
Command string `json:"command"`
Schedule string `json:"schedule"`
Cron string `json:"cron"`
Timeout int `json:"timeout"`
WorkDir string `json:"work_dir"`
Envs string `json:"envs"`
Languages []map[string]string `json:"languages"`
Enabled bool `json:"enabled"`
}
func (t *AgentTask) GetID() string {
@@ -80,12 +79,8 @@ func (t *AgentTask) GetEnvs() string {
return t.Envs
}
func (t *AgentTask) GetLanguage() string {
return t.Language
}
func (t *AgentTask) GetLangVersion() string {
return t.LangVersion
func (t *AgentTask) GetLanguages() []map[string]string {
return t.Languages
}
func (t *AgentTask) GetUseMise() bool {
@@ -513,17 +508,16 @@ func (a *Agent) handleExecute(data json.RawMessage) {
// 准备执行请求
execReq := &executor.ExecutionRequest{
TaskID: fmt.Sprintf("%d", task.ID),
LogID: req.LogID,
Name: task.Name,
Command: task.Command,
WorkDir: task.WorkDir,
Envs: executor.ParseEnvVars(task.Envs),
Timeout: task.Timeout,
Language: task.Language,
LangVersion: task.LangVersion,
UseMise: false,
Type: executor.TaskTypeManual,
TaskID: fmt.Sprintf("%d", task.ID),
LogID: req.LogID,
Name: task.Name,
Command: task.Command,
WorkDir: task.WorkDir,
Envs: executor.ParseEnvVars(task.Envs),
Timeout: task.Timeout,
Languages: task.Languages,
UseMise: false,
Type: executor.TaskTypeManual,
}
// 立即执行任务(加入队列)