feat: status constant define

This commit is contained in:
engigu
2026-02-10 17:07:11 +08:00
parent 04de467a67
commit cca069dd98
16 changed files with 152 additions and 109 deletions
+5 -4
View File
@@ -10,6 +10,7 @@ import (
"time"
"github.com/creack/pty"
"github.com/engigu/baihu-panel/internal/constant"
"github.com/engigu/baihu-panel/internal/logger"
"github.com/engigu/baihu-panel/internal/utils"
)
@@ -76,7 +77,7 @@ func ExecuteWithHooks(ctx context.Context, req Request, stdout, stderr io.Writer
id, err := hooks.PreExecute(ctx, req)
if err != nil {
return &Result{
Status: "failed",
Status: constant.TaskStatusFailed,
Duration: 0,
ExitCode: 1,
StartTime: start,
@@ -185,7 +186,7 @@ func ExecuteWithHooks(ctx context.Context, req Request, stdout, stderr io.Writer
// Start 失败的处理
end := time.Now()
result := &Result{
Status: "failed",
Status: constant.TaskStatusFailed,
Duration: end.Sub(start).Milliseconds(),
ExitCode: 1,
StartTime: start, // 修正为 start
@@ -248,7 +249,7 @@ func ExecuteWithHooks(ctx context.Context, req Request, stdout, stderr io.Writer
}
if err != nil {
result.Status = "failed"
result.Status = constant.TaskStatusFailed
result.Error = err.Error()
if exitErr, ok := err.(*exec.ExitError); ok {
result.ExitCode = exitErr.ExitCode()
@@ -256,7 +257,7 @@ func ExecuteWithHooks(ctx context.Context, req Request, stdout, stderr io.Writer
result.ExitCode = 1
}
} else {
result.Status = "success"
result.Status = constant.TaskStatusSuccess
result.ExitCode = 0
}
+13 -11
View File
@@ -8,6 +8,8 @@ import (
"os"
"sync"
"time"
"github.com/engigu/baihu-panel/internal/constant"
)
// safeBuffer 一个线程安全的字节缓冲区,用于合并 stdout 和 stderr
@@ -49,12 +51,12 @@ const (
type TaskStatus string
const (
TaskStatusPending TaskStatus = "pending" // 等待中
TaskStatusRunning TaskStatus = "running" // 运行中
TaskStatusSuccess TaskStatus = "success" // 成功
TaskStatusFailed TaskStatus = "failed" // 失败
TaskStatusTimeout TaskStatus = "timeout" // 超时
TaskStatusCancelled TaskStatus = "cancelled" // 已取消
TaskStatusPending TaskStatus = TaskStatus(constant.TaskStatusPending) // 等待中
TaskStatusRunning TaskStatus = TaskStatus(constant.TaskStatusRunning) // 运行中
TaskStatusSuccess TaskStatus = TaskStatus(constant.TaskStatusSuccess) // 成功
TaskStatusFailed TaskStatus = TaskStatus(constant.TaskStatusFailed) // 失败
TaskStatusTimeout TaskStatus = TaskStatus(constant.TaskStatusTimeout) // 超时
TaskStatusCancelled TaskStatus = TaskStatus(constant.TaskStatusCancelled) // 已取消
)
// ExecutionRequest 执行请求(标准接口)
@@ -329,7 +331,7 @@ func (s *Scheduler) executeTask(req *ExecutionRequest) (*ExecutionResult, error)
return &ExecutionResult{
TaskID: req.TaskID,
Success: false,
Status: "failed",
Status: constant.TaskStatusFailed,
Error: err.Error(),
Duration: 0,
ExitCode: 1,
@@ -402,7 +404,7 @@ func (s *Scheduler) executeTask(req *ExecutionRequest) (*ExecutionResult, error)
}
if execResult != nil {
result.Success = execResult.Status == "success"
result.Success = execResult.Status == constant.TaskStatusSuccess
result.Output = combinedBuf.String()
result.Status = execResult.Status
result.Duration = execResult.Duration
@@ -411,7 +413,7 @@ func (s *Scheduler) executeTask(req *ExecutionRequest) (*ExecutionResult, error)
result.EndTime = execResult.EndTime
} else {
result.Success = false
result.Status = "failed"
result.Status = constant.TaskStatusFailed
result.StartTime = start
result.EndTime = time.Now()
result.Duration = result.EndTime.Sub(result.StartTime).Milliseconds()
@@ -421,9 +423,9 @@ func (s *Scheduler) executeTask(req *ExecutionRequest) (*ExecutionResult, error)
if execErr != nil {
result.Error = execErr.Error()
if ctx.Err() == context.Canceled {
result.Status = "cancelled"
result.Status = constant.TaskStatusCancelled
} else if ctx.Err() == context.DeadlineExceeded {
result.Status = "timeout"
result.Status = constant.TaskStatusTimeout
}
}