This commit is contained in:
akrike
2025-07-06 16:08:41 +08:00
parent a05d9c3f03
commit ec9f1fefdb
4 changed files with 24 additions and 25 deletions

View File

@@ -52,7 +52,6 @@ func (p *procApi) StartProcess(ctx *gin.Context, req model.ProcessUuidReq) (err
return err1 return err1
} }
logic.ProcessCtlLogic.AddProcess(req.Uuid, proc) logic.ProcessCtlLogic.AddProcess(req.Uuid, proc)
rOk(ctx, "Operation successful!", nil)
return nil return nil
} }
if prod.State.State == 1 { if prod.State.State == 1 {
@@ -61,7 +60,6 @@ func (p *procApi) StartProcess(ctx *gin.Context, req model.ProcessUuidReq) (err
prod.ResetRestartTimes() prod.ResetRestartTimes()
err = prod.Start() err = prod.Start()
return return
} }
func (p *procApi) StartAllProcess(ctx *gin.Context, _ any) (err error) { func (p *procApi) StartAllProcess(ctx *gin.Context, _ any) (err error) {

View File

@@ -110,13 +110,13 @@ func (w *wsApi) WebsocketShareHandle(ctx *gin.Context, req model.WebsocketHandle
} }
guestName := "guest-" + strconv.Itoa(int(data.ID)) // 构造访客用户名 guestName := "guest-" + strconv.Itoa(int(data.ID)) // 构造访客用户名
if proc.HasWsConn(guestName) { if proc.HasWsConn(guestName) {
return errors.New("connection already exists; unable to establish a new one") return errors.New("connection already exists")
} }
if proc.State.State != 1 { if proc.State.State != 1 {
return errors.New("process is currently running") return errors.New("process not is running")
} }
if !proc.VerifyControl() { if !proc.VerifyControl() {
return errors.New("insufficient permissions; please check your access rights") return errors.New("insufficient permissions")
} }
conn, err := upgrader.Upgrade(ctx.Writer, ctx.Request, nil) conn, err := upgrader.Upgrade(ctx.Writer, ctx.Request, nil)
if err != nil { if err != nil {

View File

@@ -114,8 +114,10 @@ func (p *processCtlLogic) getProcessInfoList(processConfiglist []model.Process)
Name: v.Name, Name: v.Name,
Uuid: v.Uuid, Uuid: v.Uuid,
} }
if value, ok := p.processMap.Load(v.Uuid); ok { process, err := p.GetProcess(v.Uuid)
process := value.(*ProcessBase) if err != nil {
continue
}
pi.State.Info = process.State.Info pi.State.Info = process.State.Info
pi.State.State = process.State.State pi.State.State = process.State.State
pi.StartTime = process.GetStartTimeFormat() pi.StartTime = process.GetStartTimeFormat()
@@ -131,7 +133,6 @@ func (p *processCtlLogic) getProcessInfoList(processConfiglist []model.Process)
pi.CgroupEnable = process.Config.cgroupEnable pi.CgroupEnable = process.Config.cgroupEnable
pi.CpuLimit = process.Config.cpuLimit pi.CpuLimit = process.Config.cpuLimit
pi.MemoryLimit = process.Config.memoryLimit pi.MemoryLimit = process.Config.memoryLimit
}
processInfoList = append(processInfoList, pi) processInfoList = append(processInfoList, pi)
} }
return processInfoList return processInfoList

View File

@@ -70,7 +70,7 @@ func routePathInit(r *gin.Engine) {
processGroup.PUT("", middle.OprPermission(constants.OPERATION_START), bind(api.ProcApi.StartProcess, Body)) processGroup.PUT("", middle.OprPermission(constants.OPERATION_START), bind(api.ProcApi.StartProcess, Body))
processGroup.PUT("/all", bind(api.ProcApi.StartAllProcess, None)) processGroup.PUT("/all", bind(api.ProcApi.StartAllProcess, None))
processGroup.DELETE("/all", bind(api.ProcApi.KillAllProcess, None)) processGroup.DELETE("/all", bind(api.ProcApi.KillAllProcess, None))
processGroup.POST("/share", middle.RolePermission(constants.ROLE_ADMIN), bind(api.ProcApi.ProcessCreateShare, Body)) processGroup.POST("/share", middle.RolePermission(constants.ROLE_ADMIN), bind(api.ProcApi.ProcessCreateShare, Query))
processGroup.GET("/control", middle.RolePermission(constants.ROLE_ROOT), middle.ProcessWaitCond.WaitTriggerMiddel, bind(api.ProcApi.ProcessControl, Query)) processGroup.GET("/control", middle.RolePermission(constants.ROLE_ROOT), middle.ProcessWaitCond.WaitTriggerMiddel, bind(api.ProcApi.ProcessControl, Query))
proConfigGroup := processGroup.Group("/config") proConfigGroup := processGroup.Group("/config")
@@ -176,7 +176,7 @@ func bind[T any](fn func(*gin.Context, T) error, bindOption int) func(*gin.Conte
rErr(ctx, err) rErr(ctx, err)
return return
} }
if ctx.Writer.Status() == 0 { if !ctx.Writer.Written() {
ctx.JSON(200, gin.H{ ctx.JSON(200, gin.H{
"code": 0, "code": 0,
"message": "success", "message": "success",