feat: status constant define
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user