mirror of
				https://github.com/TeaOSLab/EdgeAPI.git
				synced 2025-11-04 07:50:25 +08:00 
			
		
		
		
	启动时增加查询是否正在启动指令
This commit is contained in:
		
							
								
								
									
										4
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								go.mod
									
									
									
									
									
								
							@@ -15,9 +15,9 @@ require (
 | 
			
		||||
	github.com/go-sql-driver/mysql v1.5.0
 | 
			
		||||
	github.com/go-yaml/yaml v2.1.0+incompatible
 | 
			
		||||
	github.com/golang/protobuf v1.5.2
 | 
			
		||||
	github.com/iwind/TeaGo v0.0.0-20210831140440-a2a442471b13
 | 
			
		||||
	github.com/iwind/TeaGo v0.0.0-20211026123858-7de7a21cad24
 | 
			
		||||
	github.com/iwind/gosock v0.0.0-20210722083328-12b2d66abec3
 | 
			
		||||
	github.com/json-iterator/go v1.1.11 // indirect
 | 
			
		||||
	github.com/json-iterator/go v1.1.12 // indirect
 | 
			
		||||
	github.com/lionsoul2014/ip2region v2.2.0-release+incompatible
 | 
			
		||||
	github.com/mozillazg/go-pinyin v0.18.0
 | 
			
		||||
	github.com/pkg/sftp v1.12.0
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								go.sum
									
									
									
									
									
								
							@@ -234,6 +234,8 @@ github.com/iwind/TeaGo v0.0.0-20210411134150-ddf57e240c2f/go.mod h1:KU4mS7QNiZ7Q
 | 
			
		||||
github.com/iwind/TeaGo v0.0.0-20210628135026-38575a4ab060/go.mod h1:KU4mS7QNiZ7QWEuDBk1zw0/Q2LrAPZv3tycEFBsuUwc=
 | 
			
		||||
github.com/iwind/TeaGo v0.0.0-20210831140440-a2a442471b13 h1:HuEJ5xJfujW1Q6rNDhOu5LQXEBB2qLPah3jYslT8Gz4=
 | 
			
		||||
github.com/iwind/TeaGo v0.0.0-20210831140440-a2a442471b13/go.mod h1:KU4mS7QNiZ7QWEuDBk1zw0/Q2LrAPZv3tycEFBsuUwc=
 | 
			
		||||
github.com/iwind/TeaGo v0.0.0-20211026123858-7de7a21cad24 h1:1cGulkD2SNJJRok5OKwyhP/Ddm+PgSWKOupn0cR36/A=
 | 
			
		||||
github.com/iwind/TeaGo v0.0.0-20211026123858-7de7a21cad24/go.mod h1:KU4mS7QNiZ7QWEuDBk1zw0/Q2LrAPZv3tycEFBsuUwc=
 | 
			
		||||
github.com/iwind/gosock v0.0.0-20210722083328-12b2d66abec3 h1:aBSonas7vFcgTj9u96/bWGILGv1ZbUSTLiOzcI1ZT6c=
 | 
			
		||||
github.com/iwind/gosock v0.0.0-20210722083328-12b2d66abec3/go.mod h1:H5Q7SXwbx3a97ecJkaS2sD77gspzE7HFUafBO0peEyA=
 | 
			
		||||
github.com/jarcoal/httpmock v1.0.5/go.mod h1:ATjnClrvW/3tijVmpL/va5Z3aAyGvqU3gCT8nX0Txik=
 | 
			
		||||
@@ -250,6 +252,8 @@ github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/u
 | 
			
		||||
github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
 | 
			
		||||
github.com/json-iterator/go v1.1.11 h1:uVUAXhF2To8cbw/3xN3pxj6kk7TYKs98NIrTqPlMWAQ=
 | 
			
		||||
github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
 | 
			
		||||
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
 | 
			
		||||
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
 | 
			
		||||
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
 | 
			
		||||
github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
 | 
			
		||||
github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo=
 | 
			
		||||
@@ -320,6 +324,8 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJ
 | 
			
		||||
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
 | 
			
		||||
github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
 | 
			
		||||
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
 | 
			
		||||
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
 | 
			
		||||
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
 | 
			
		||||
github.com/mozillazg/go-pinyin v0.18.0 h1:hQompXO23/0ohH8YNjvfsAITnCQImCiR/Fny8EhIeW0=
 | 
			
		||||
github.com/mozillazg/go-pinyin v0.18.0/go.mod h1:iR4EnMMRXkfpFVV5FMi4FNB6wGq9NV6uDWbUuPhP4Yc=
 | 
			
		||||
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
 | 
			
		||||
 
 | 
			
		||||
@@ -41,6 +41,8 @@ type APINode struct {
 | 
			
		||||
	serviceInstanceLocker sync.Mutex
 | 
			
		||||
 | 
			
		||||
	sock *gosock.Sock
 | 
			
		||||
 | 
			
		||||
	isStarting bool
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func NewAPINode() *APINode {
 | 
			
		||||
@@ -51,6 +53,8 @@ func NewAPINode() *APINode {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (this *APINode) Start() {
 | 
			
		||||
	this.isStarting = true
 | 
			
		||||
 | 
			
		||||
	logs.Println("[API_NODE]start api node, pid: " + strconv.Itoa(os.Getpid()))
 | 
			
		||||
 | 
			
		||||
	// 检查数据库连接
 | 
			
		||||
@@ -61,6 +65,7 @@ func (this *APINode) Start() {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 本地Sock
 | 
			
		||||
	logs.Println("[API_NODE]listening sock ...")
 | 
			
		||||
	err = this.listenSock()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		logs.Println("[API_NODE]" + err.Error())
 | 
			
		||||
@@ -68,6 +73,7 @@ func (this *APINode) Start() {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 自动升级
 | 
			
		||||
	logs.Println("[API_NODE]auto upgrading ...")
 | 
			
		||||
	err = this.autoUpgrade()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		logs.Println("[API_NODE]auto upgrade failed: " + err.Error())
 | 
			
		||||
@@ -75,6 +81,7 @@ func (this *APINode) Start() {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 自动设置数据库
 | 
			
		||||
	logs.Println("[API_NODE]setup database ...")
 | 
			
		||||
	err = this.setupDB()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		logs.Println("[API_NODE]setup database '" + err.Error() + "'")
 | 
			
		||||
@@ -83,9 +90,11 @@ func (this *APINode) Start() {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 数据库通知启动
 | 
			
		||||
	logs.Println("[API_NODE]notify ready ...")
 | 
			
		||||
	dbs.NotifyReady()
 | 
			
		||||
 | 
			
		||||
	// 读取配置
 | 
			
		||||
	logs.Println("[API_NODE]reading api config ...")
 | 
			
		||||
	config, err := configs.SharedAPIConfig()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		logs.Println("[API_NODE]start failed: " + err.Error())
 | 
			
		||||
@@ -124,6 +133,9 @@ func (this *APINode) Start() {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 结束启动
 | 
			
		||||
	this.isStarting = false
 | 
			
		||||
 | 
			
		||||
	// 保持进程
 | 
			
		||||
	select {}
 | 
			
		||||
}
 | 
			
		||||
@@ -515,6 +527,13 @@ func (this *APINode) listenSock() error {
 | 
			
		||||
				// 退出主进程
 | 
			
		||||
				events.Notify(events.EventQuit)
 | 
			
		||||
				os.Exit(0)
 | 
			
		||||
			case "starting": // 是否正在启动
 | 
			
		||||
				_ = cmd.Reply(&gosock.Command{
 | 
			
		||||
					Code: "starting",
 | 
			
		||||
					Params: map[string]interface{}{
 | 
			
		||||
						"isStarting": this.isStarting,
 | 
			
		||||
					},
 | 
			
		||||
				})
 | 
			
		||||
			}
 | 
			
		||||
		})
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user