You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
984 B
56 lines
984 B
/**
|
|
* Created by GoLand.
|
|
* User: link1st
|
|
* Date: 2019-08-03
|
|
* Time: 15:44
|
|
*/
|
|
|
|
package task
|
|
|
|
import (
|
|
"fmt"
|
|
"gowebsocket/lib/cache"
|
|
"gowebsocket/servers/websocket"
|
|
"runtime/debug"
|
|
"time"
|
|
)
|
|
|
|
func ServerInit() {
|
|
Timer(2*time.Second, 60*time.Second, server, "", serverDefer, "")
|
|
}
|
|
|
|
// 服务注册
|
|
func server(param interface{}) (result bool) {
|
|
result = true
|
|
|
|
defer func() {
|
|
if r := recover(); r != nil {
|
|
fmt.Println("服务注册 stop", r, string(debug.Stack()))
|
|
}
|
|
}()
|
|
|
|
server := websocket.GetServer()
|
|
currentTime := uint64(time.Now().Unix())
|
|
fmt.Println("定时任务,服务注册", param, server, currentTime)
|
|
|
|
cache.SetServerInfo(server, currentTime)
|
|
|
|
return
|
|
}
|
|
|
|
// 服务下线
|
|
func serverDefer(param interface{}) (result bool) {
|
|
defer func() {
|
|
if r := recover(); r != nil {
|
|
fmt.Println("服务下线 stop", r, string(debug.Stack()))
|
|
}
|
|
}()
|
|
|
|
fmt.Println("服务下线", param)
|
|
|
|
server := websocket.GetServer()
|
|
cache.DelServerInfo(server)
|
|
|
|
return
|
|
}
|