新增:支持配置文件设置服务参数

git-svn-id: svn://47.119.165.148/zhub@73 e63fbceb-bcc3-4977-ac22-735b83d8d0f4
This commit is contained in:
lxy
2021-01-18 08:31:08 +00:00
parent 9b3c155f85
commit 82155ca56e
12 changed files with 156 additions and 501 deletions

View File

@@ -7,6 +7,7 @@ import (
"strings"
"sync"
"time"
"zhub/conf"
)
func msgAccept(v Message) {
@@ -22,7 +23,9 @@ func msgAccept(v Message) {
return
}
log.Println("rcmd: " + strings.Join(rcmd, " "))
if conf.LogDebug {
log.Println("rcmd: " + strings.Join(rcmd, " "))
}
if len(rcmd) == 1 {
switch strings.ToLower(rcmd[0]) {
@@ -84,14 +87,14 @@ func msgAccept(v Message) {
}
}
// daly topic 100
// daly topic value 100 -> publish topic value
func daly(rcmd []string, c *ZConn) {
if len(rcmd) != 3 {
if len(rcmd) != 4 {
send(c.conn, "-Error: subscribe para number!")
return
}
t, err := strconv.ParseInt(rcmd[2], 10, 64)
t, err := strconv.ParseInt(rcmd[3], 10, 64)
if err != nil {
send(c.conn, "-Error: "+strings.Join(rcmd, " "))
return
@@ -100,8 +103,7 @@ func daly(rcmd []string, c *ZConn) {
timer := time.NewTimer(time.Duration(t) * time.Millisecond)
select {
case <-timer.C:
send(c.conn, "daly", rcmd[1])
// zsub.publish(rcmd[1], rcmd[2])
zsub.publish(rcmd[1], rcmd[2])
}
}

View File

@@ -2,7 +2,6 @@ package zsub
import (
"bufio"
"fmt"
"log"
"net"
"strconv"
@@ -17,10 +16,6 @@ var (
}
)
func init() {
zsub.reloadTimerConfig()
}
type ZSub struct {
sync.Mutex
topics map[string]*ZTopic
@@ -150,13 +145,21 @@ func (c *ZConn) appendTo(arr []*ZConn) []*ZConn {
}
// ================== ZHub server =====================================
func ServerStart(host string, port int) {
listen, err := net.Listen("tcp", fmt.Sprintf("%s:%d", host, port))
/*
1、初始化服务
2、启动服务监听
*/
func ServerStart(addr string) {
// 加载定时调度服务
zsub.reloadTimerConfig()
// 启动服务监听
listen, err := net.Listen("tcp", addr)
if err != nil {
log.Fatal(err)
return
}
log.Printf("zhub started listen on: %s:%d \n", host, port)
log.Printf("zhub started listen on: %s \n", addr)
// 启动消息监听处理
go func() {

View File

@@ -13,6 +13,7 @@ import (
"strings"
"text/template"
"time"
"zhub/conf"
)
type ZTimer struct {
@@ -165,9 +166,13 @@ func executeShell(command string) (string, error, string) {
}
func (s *ZSub) reloadTimerConfig() {
db, err := sql.Open("mysql", "root:*Zhong123098!@tcp(47.111.150.118:6063)/platf_oth?charset=utf8") // dev
//db, err := sql.Open("mysql", "root:*Zhong123098!@tcp(121.196.17.55:6063)/platf_oth?charset=utf8") // qc
//db, err := sql.Open("mysql", "root:*Hello@27.com!@tcp(122.112.180.156:6033)/platf_oth?charset=utf8") // pro
db, err := sql.Open("mysql", fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8",
conf.GetStr("ztimer.db.user", "root"),
conf.GetStr("ztimer.db.pwd", "123456"),
conf.GetStr("ztimer.db.addr", "127.0.0.1:3306"),
conf.GetStr("ztimer.db.database", "zhub"),
))
if err != nil {
log.Println(err)
return
@@ -177,6 +182,7 @@ func (s *ZSub) reloadTimerConfig() {
rows, err := db.Query("SELECT t.`name`,t.`expr`,IF(t.`single`=1,'a','x') 'single' FROM tasktimer t WHERE t.`status`=10 ORDER BY t.`timerid`")
if err != nil {
log.Println(err)
return
}
for rows.Next() {