- Add debug logging for watchdog operations - Standardize message format for instance operations - Improve TCP message handling with proper line termination - Enhance error handling in watchdog operations - Add proper cleanup of recvChan in sendMsg - Update response handling in instance handlers
73 lines
1.4 KiB
Go
73 lines
1.4 KiB
Go
package watchdog
|
|
|
|
import (
|
|
"fmt"
|
|
"super-frpc/postLog"
|
|
)
|
|
|
|
func AddInstance(serviceName string) bool {
|
|
postLog.Debug(fmt.Sprintf("[watchdog] Add service monitor: %s", serviceName))
|
|
if !IsConnected() {
|
|
return false
|
|
}
|
|
|
|
message := fmt.Sprintf("[monitor.add] <serviceName>%s</serviceName>", serviceName)
|
|
response, err := sendMsg(message, 3)
|
|
if err != nil {
|
|
return false
|
|
} else if response == "success" {
|
|
return true
|
|
}
|
|
|
|
return false
|
|
}
|
|
|
|
func RemoveInstance(serviceName string) bool {
|
|
postLog.Debug(fmt.Sprintf("[watchdog] Remove service monitor: %s", serviceName))
|
|
if !IsConnected() {
|
|
return false
|
|
}
|
|
|
|
message := fmt.Sprintf("[monitor.remove] <serviceName>%s</serviceName>", serviceName)
|
|
response, err := sendMsg(message, 3)
|
|
if err != nil {
|
|
return false
|
|
} else if response == "success" {
|
|
return true
|
|
}
|
|
|
|
return false
|
|
}
|
|
|
|
func CloseInstance(serviceName string) bool {
|
|
postLog.Debug(fmt.Sprintf("[watchdog] Remove service monitor: %s", serviceName))
|
|
if !IsConnected() {
|
|
return false
|
|
}
|
|
|
|
message := fmt.Sprintf("[instance.remove] <serviceName>%s</serviceName>", serviceName)
|
|
response, err := sendMsg(message, 3)
|
|
if err != nil {
|
|
return false
|
|
} else if response == "success" {
|
|
return true
|
|
}
|
|
|
|
return false
|
|
}
|
|
|
|
func Close() bool {
|
|
if !IsConnected() {
|
|
return false
|
|
}
|
|
|
|
message := "watchdog.shutdown"
|
|
response, err := sendMsg(message, 3)
|
|
if err != nil {
|
|
return false
|
|
} else if response == "success" {
|
|
return true
|
|
}
|
|
|
|
return false
|
|
} |