v1.5.1 增强程序稳定性

This commit is contained in:
robin
2026-03-22 17:37:40 +08:00
parent afbaaa869c
commit 17e182b413
652 changed files with 22949 additions and 34397 deletions

View File

@@ -2,6 +2,7 @@ package nodes
import (
"errors"
"fmt"
"log"
"net"
"os"
@@ -46,7 +47,14 @@ func (n *HTTPDNSNode) Run() {
return
}
go n.start()
go func() {
defer func() {
if r := recover(); r != nil {
log.Println(fmt.Sprintf("[HTTPDNS_NODE]goroutine panic: %v", r))
}
}()
n.start()
}()
select {}
}
@@ -108,6 +116,12 @@ func (n *HTTPDNSNode) listenSock() error {
}
go func() {
defer func() {
if r := recover(); r != nil {
log.Println(fmt.Sprintf("[HTTPDNS_NODE]sock goroutine panic: %v", r))
}
}()
n.sock.OnCommand(func(cmd *gosock.Command) {
switch cmd.Code {
case "pid":
@@ -152,12 +166,47 @@ func (n *HTTPDNSNode) start() {
taskManager := NewTaskManager(n.quitCh, snapshotManager)
resolveServer := NewResolveServer(n.quitCh, snapshotManager)
go snapshotManager.Start()
go statusManager.Start()
go taskManager.Start()
go resolveServer.Start()
go func() {
defer func() {
if r := recover(); r != nil {
log.Println(fmt.Sprintf("[HTTPDNS_NODE]snapshot goroutine panic: %v", r))
}
}()
snapshotManager.Start()
}()
go func() {
defer func() {
if r := recover(); r != nil {
log.Println(fmt.Sprintf("[HTTPDNS_NODE]status goroutine panic: %v", r))
}
}()
statusManager.Start()
}()
go func() {
defer func() {
if r := recover(); r != nil {
log.Println(fmt.Sprintf("[HTTPDNS_NODE]task goroutine panic: %v", r))
}
}()
taskManager.Start()
}()
go func() {
defer func() {
if r := recover(); r != nil {
log.Println(fmt.Sprintf("[HTTPDNS_NODE]resolve goroutine panic: %v", r))
}
}()
resolveServer.Start()
}()
go NewUpgradeManager().Loop()
go func() {
defer func() {
if r := recover(); r != nil {
log.Println(fmt.Sprintf("[HTTPDNS_NODE]upgrade goroutine panic: %v", r))
}
}()
NewUpgradeManager().Loop()
}()
}
func (n *HTTPDNSNode) stop() {