ScriptTool.go
package saseul
import (
"staff"
)
// ScriptTool μΈν°νμ΄μ€λ μ¬μμ κΈ°λ₯μ μ μν©λλ€.
type ScriptTool interface {
Restart(func())
}
// scriptTool ꡬ쑰체λ ScriptTool μΈν°νμ΄μ€λ₯Ό ꡬνν©λλ€.
type scriptTool struct{}
// NewScriptTool ν¨μλ ScriptTool μΈν°νμ΄μ€μ μ μΈμ€ν΄μ€λ₯Ό μμ±ν©λλ€.
func NewScriptTool() ScriptTool {
return &scriptTool{}
}
// Restart λ©μλλ μ£Όμ΄μ§ ν¨μλ₯Ό νΈμΆνμ¬ μλ²λ νλ‘μΈμ€λ₯Ό μ¬μμν©λλ€.
func (st *scriptTool) Restart(f func()) {
isRunning := staff.ProcessManager.IsRunning(staff.Master)
if isRunning {
stop := &staff.Stop{}
stop.Main()
}
f()
if isRunning {
start := &staff.Start{}
start.Main()
}
}μ£Όμ μ€λͺ
Last updated