Documentation
¶
Index ¶
- Variables
- func InitLog()
- func InitLogHandle()
- type ConnectInstance
- type LogLogic
- type Process
- type ProcessBase
- func (p *ProcessBase) AddConn(user string, c ConnectInstance)
- func (p *ProcessBase) AddCpuUsage(usage float64)
- func (p *ProcessBase) AddMemUsage(usage float64)
- func (p *ProcessBase) AddRecordTime()
- func (p *ProcessBase) DeleteConn(user string)
- func (p *ProcessBase) GetStartTimeFormat() string
- func (p *ProcessBase) GetUserList() []string
- func (p *ProcessBase) GetUserString() string
- func (p *ProcessBase) HasWsConn(userName string) bool
- func (p *ProcessBase) InitPerformanceStatus()
- func (p *ProcessBase) Kill() error
- func (p *ProcessBase) ProcessControl(name string)
- func (p *ProcessBase) ResetRestartTimes()
- func (p *ProcessBase) SetState(state constants.ProcessState, fn ...func() bool) bool
- func (p *ProcessBase) VerifyControl() bool
- type ProcessPty
- func (p *ProcessPty) ReadCache(ws ConnectInstance)
- func (p *ProcessPty) SetTerminalSize(cols, rows int)
- func (p *ProcessPty) Start() (err error)
- func (p *ProcessPty) Type() constants.TerminalType
- func (p *ProcessPty) Write(input string) (err error)
- func (p *ProcessPty) WriteBytes(input []byte) (err error)
- type ProcessStd
- func (p *ProcessStd) Read() string
- func (p *ProcessStd) ReadCache(ws ConnectInstance)
- func (p *ProcessStd) SetTerminalSize(cols, rows int)
- func (p *ProcessStd) Start() (err error)
- func (p *ProcessStd) Type() constants.TerminalType
- func (p *ProcessStd) Write(input string) (err error)
- func (p *ProcessStd) WriteBytes(input []byte) (err error)
Constants ¶
This section is empty.
Variables ¶
View Source
var (
ConfigLogic = new(configLogic)
)
View Source
var (
EsLogic = new(esLogic)
)
View Source
var FileLogic = new(fileLogic)
View Source
var LogEs = new(logEs)
View Source
var LogSqlite = new(logSqlite)
View Source
var (
Loghandler = new(loghandler)
)
View Source
var OperationHandle = map[constants.TaskOperation]operationFunc{ constants.TASK_START: func(data *model.Task, proc *ProcessBase) bool { if proc.State.State == 1 { log.Logger.Debugw("进程已在运行") return false } go proc.Start() return true }, constants.TASK_START_WAIT_DONE: func(data *model.Task, proc *ProcessBase) bool { if proc.State.State == 1 { log.Logger.Debugw("进程已在运行") return false } if err := proc.Start(); err != nil { log.Logger.Debugw("进程启动失败") return false } select { case <-proc.StopChan: log.Logger.Debugw("进程停止,任务完成") return true case <-time.After(time.Second * time.Duration(config.CF.TaskTimeout)): log.Logger.Errorw("任务超时") return false } }, constants.TASK_STOP: func(data *model.Task, proc *ProcessBase) bool { if proc.State.State != 1 { log.Logger.Debugw("进程未在运行") return false } log.Logger.Debugw("异步停止任务") proc.State.manualStopFlag = true go proc.Kill() return true }, constants.TASK_STOP_WAIT_DONE: func(data *model.Task, proc *ProcessBase) bool { if proc.State.State != 1 { log.Logger.Debugw("进程未在运行") return false } log.Logger.Debugw("停止任务并等待结束") proc.State.manualStopFlag = true return proc.Kill() == nil }, }
View Source
var (
ProcessCtlLogic = new(processCtlLogic)
)
View Source
var PushLogic = &pushLogic{ httpClient: &http.Client{ Transport: http.DefaultTransport, }, }
View Source
var TaskLogic = new(taskLogic)
Functions ¶
func InitLogHandle ¶
func InitLogHandle()
Types ¶
type ConnectInstance ¶
type LogLogic ¶
type LogLogic interface {
Search(req model.GetLogReq, filterProcessName ...string) model.LogResp
Insert(log string, processName string, using string, ts int64)
}
var LogLogicImpl LogLogic
type Process ¶
type Process interface {
ReadCache(ConnectInstance)
Write(string) error
WriteBytes([]byte) error
Start() error
Type() constants.TerminalType
SetTerminalSize(int, int)
// contains filtered or unexported methods
}
type ProcessBase ¶
type ProcessBase struct {
Process
Name string
Pid int
StartCommand []string
WorkDir string
Lock sync.Mutex
StopChan chan struct{}
Control struct {
Controller string
// contains filtered or unexported fields
}
Config struct {
AutoRestart bool
PushIds []int
// contains filtered or unexported fields
}
State struct {
Info string
State constants.ProcessState //0 为未运行,1为运作中,2为异常状态
// contains filtered or unexported fields
}
// contains filtered or unexported fields
}
func NewProcessPty ¶
func NewProcessPty(pconfig model.Process) *ProcessBase
func NewProcessStd ¶
func NewProcessStd(pconfig model.Process) *ProcessBase
func (*ProcessBase) AddConn ¶
func (p *ProcessBase) AddConn(user string, c ConnectInstance)
func (*ProcessBase) AddCpuUsage ¶
func (p *ProcessBase) AddCpuUsage(usage float64)
func (*ProcessBase) AddMemUsage ¶
func (p *ProcessBase) AddMemUsage(usage float64)
func (*ProcessBase) AddRecordTime ¶
func (p *ProcessBase) AddRecordTime()
func (*ProcessBase) DeleteConn ¶
func (p *ProcessBase) DeleteConn(user string)
func (*ProcessBase) GetStartTimeFormat ¶
func (p *ProcessBase) GetStartTimeFormat() string
func (*ProcessBase) GetUserList ¶
func (p *ProcessBase) GetUserList() []string
func (*ProcessBase) GetUserString ¶
func (p *ProcessBase) GetUserString() string
func (*ProcessBase) HasWsConn ¶
func (p *ProcessBase) HasWsConn(userName string) bool
func (*ProcessBase) InitPerformanceStatus ¶
func (p *ProcessBase) InitPerformanceStatus()
func (*ProcessBase) Kill ¶
func (p *ProcessBase) Kill() error
func (*ProcessBase) ProcessControl ¶
func (p *ProcessBase) ProcessControl(name string)
func (*ProcessBase) ResetRestartTimes ¶
func (p *ProcessBase) ResetRestartTimes()
func (*ProcessBase) SetState ¶
func (p *ProcessBase) SetState(state constants.ProcessState, fn ...func() bool) bool
fn 函数执行成功的情况下对state赋值
type ProcessPty ¶
type ProcessPty struct {
*ProcessBase
// contains filtered or unexported fields
}
func (*ProcessPty) ReadCache ¶
func (p *ProcessPty) ReadCache(ws ConnectInstance)
func (*ProcessPty) SetTerminalSize ¶
func (p *ProcessPty) SetTerminalSize(cols, rows int)
func (*ProcessPty) Start ¶
func (p *ProcessPty) Start() (err error)
func (*ProcessPty) Type ¶
func (p *ProcessPty) Type() constants.TerminalType
func (*ProcessPty) Write ¶
func (p *ProcessPty) Write(input string) (err error)
func (*ProcessPty) WriteBytes ¶
func (p *ProcessPty) WriteBytes(input []byte) (err error)
type ProcessStd ¶
type ProcessStd struct {
*ProcessBase
// contains filtered or unexported fields
}
func (*ProcessStd) Read ¶
func (p *ProcessStd) Read() string
func (*ProcessStd) ReadCache ¶
func (p *ProcessStd) ReadCache(ws ConnectInstance)
func (*ProcessStd) SetTerminalSize ¶
func (p *ProcessStd) SetTerminalSize(cols, rows int)
func (*ProcessStd) Start ¶
func (p *ProcessStd) Start() (err error)
func (*ProcessStd) Type ¶
func (p *ProcessStd) Type() constants.TerminalType
func (*ProcessStd) Write ¶
func (p *ProcessStd) Write(input string) (err error)
func (*ProcessStd) WriteBytes ¶
func (p *ProcessStd) WriteBytes(input []byte) (err error)
Click to show internal directories.
Click to hide internal directories.