mirror of
				https://github.com/TeaOSLab/EdgeNode.git
				synced 2025-11-04 16:00:25 +08:00 
			
		
		
		
	增加 edge-node reload 命令/优化命令行帮助
This commit is contained in:
		@@ -22,7 +22,9 @@ func main() {
 | 
			
		||||
	app := apps.NewAppCmd().
 | 
			
		||||
		Version(teaconst.Version).
 | 
			
		||||
		Product(teaconst.ProductName).
 | 
			
		||||
		Usage(teaconst.ProcessName + " [-v|start|stop|restart|status|quit|test|service|daemon|pprof]")
 | 
			
		||||
		Usage(teaconst.ProcessName + " [-v|start|stop|restart|status|quit|test|reload|service|daemon|pprof]").
 | 
			
		||||
		Usage(teaconst.ProcessName + " [trackers|goman|conns|gc]").
 | 
			
		||||
		Usage(teaconst.ProcessName + " [ip.drop|ip.reject|ip.remove] IP")
 | 
			
		||||
 | 
			
		||||
	app.On("test", func() {
 | 
			
		||||
		err := nodes.NewNode().Test()
 | 
			
		||||
@@ -30,6 +32,20 @@ func main() {
 | 
			
		||||
			_, _ = os.Stderr.WriteString(err.Error())
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
	app.On("reload", func() {
 | 
			
		||||
		var sock = gosock.NewTmpSock(teaconst.ProcessName)
 | 
			
		||||
		reply, err := sock.Send(&gosock.Command{Code: "reload"})
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			fmt.Println("[ERROR]" + err.Error())
 | 
			
		||||
		} else {
 | 
			
		||||
			var params = maps.NewMap(reply.Params)
 | 
			
		||||
			if params.Has("error") {
 | 
			
		||||
				fmt.Println("[ERROR]" + params.GetString("error"))
 | 
			
		||||
			} else {
 | 
			
		||||
				fmt.Println("ok")
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
	app.On("daemon", func() {
 | 
			
		||||
		nodes.NewNode().Daemon()
 | 
			
		||||
	})
 | 
			
		||||
 
 | 
			
		||||
@@ -20,7 +20,7 @@ import (
 | 
			
		||||
type AppCmd struct {
 | 
			
		||||
	product       string
 | 
			
		||||
	version       string
 | 
			
		||||
	usage         string
 | 
			
		||||
	usages        []string
 | 
			
		||||
	options       []*CommandHelpOption
 | 
			
		||||
	appendStrings []string
 | 
			
		||||
 | 
			
		||||
@@ -54,7 +54,7 @@ func (this *AppCmd) Version(version string) *AppCmd {
 | 
			
		||||
 | 
			
		||||
// Usage 使用方法
 | 
			
		||||
func (this *AppCmd) Usage(usage string) *AppCmd {
 | 
			
		||||
	this.usage = usage
 | 
			
		||||
	this.usages = append(this.usages, usage)
 | 
			
		||||
	return this
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -77,8 +77,10 @@ func (this *AppCmd) Append(appendString string) *AppCmd {
 | 
			
		||||
func (this *AppCmd) Print() {
 | 
			
		||||
	fmt.Println(this.product + " v" + this.version)
 | 
			
		||||
 | 
			
		||||
	usage := this.usage
 | 
			
		||||
	fmt.Println("Usage:", "\n   "+usage)
 | 
			
		||||
	fmt.Println("Usage:")
 | 
			
		||||
	for _, usage := range this.usages {
 | 
			
		||||
		fmt.Println("   " + usage)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if len(this.options) > 0 {
 | 
			
		||||
		fmt.Println("")
 | 
			
		||||
 
 | 
			
		||||
@@ -742,6 +742,17 @@ func (this *Node) listenSock() error {
 | 
			
		||||
				runtime.GC()
 | 
			
		||||
				debug.FreeOSMemory()
 | 
			
		||||
				_ = cmd.ReplyOk()
 | 
			
		||||
			case "reload":
 | 
			
		||||
				err := this.syncConfig(0)
 | 
			
		||||
				if err != nil {
 | 
			
		||||
					_ = cmd.Reply(&gosock.Command{
 | 
			
		||||
						Params: map[string]interface{}{
 | 
			
		||||
							"error": err.Error(),
 | 
			
		||||
						},
 | 
			
		||||
					})
 | 
			
		||||
				} else {
 | 
			
		||||
					_ = cmd.ReplyOk()
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		})
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user