|
@@ -1,25 +1,69 @@
|
|
|
package main
|
|
|
|
|
|
import (
|
|
|
- "flag"
|
|
|
+ "context"
|
|
|
+ "encoding/json"
|
|
|
+ "fmt"
|
|
|
"gitdxz.51daxuetong.cn/go_dev/bids_rpcx/config"
|
|
|
+ "gitdxz.51daxuetong.cn/go_dev/bids_rpcx/lib"
|
|
|
"gitdxz.51daxuetong.cn/go_dev/bids_rpcx/service"
|
|
|
"github.com/smallnest/rpcx/server"
|
|
|
-)
|
|
|
-
|
|
|
-var (
|
|
|
- addr = flag.String("addr", "127.0.0.1:8972", "server address")
|
|
|
+ "time"
|
|
|
)
|
|
|
|
|
|
func main() {
|
|
|
- flag.Parse()
|
|
|
+
|
|
|
config.Init()
|
|
|
- //fmt.Println(config.GetConfig().All())
|
|
|
s := server.NewServer()
|
|
|
s.Register(new(service.BidsSvc), "")
|
|
|
- //s.Register(new(Bids), "")
|
|
|
- err := s.Serve("tcp", *addr)
|
|
|
+ add := config.GetConfig().String("addr")
|
|
|
+ fmt.Println("监听地址:" + add)
|
|
|
+ go func() {
|
|
|
+ for {
|
|
|
+ refreshSemCate()
|
|
|
+ refreshSemChan()
|
|
|
+ <-time.After(5 * time.Minute)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ err := s.Serve("tcp", add)
|
|
|
if err != nil {
|
|
|
panic(err)
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+func refreshSemCate() {
|
|
|
+ redis, err := lib.GetRedisClient()
|
|
|
+ if err != nil {
|
|
|
+ time.Sleep(10 * time.Second)
|
|
|
+ redis, err = lib.GetNewRedisClient()
|
|
|
+ if err != nil {
|
|
|
+ panic(err)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ bids := service.Bids{}
|
|
|
+ semCate, err := bids.GetSemCategory()
|
|
|
+ if err == nil {
|
|
|
+ if len(semCate) > 0 {
|
|
|
+ val, err := json.Marshal(semCate)
|
|
|
+ if err == nil {
|
|
|
+ redis.Set(context.Background(), "semCategoryList", val, 0)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+func refreshSemChan() {
|
|
|
+ redis, err := lib.GetRedisClient()
|
|
|
+ if err != nil {
|
|
|
+ panic(err)
|
|
|
+ }
|
|
|
+ bids := service.Bids{}
|
|
|
+ semChan, err := bids.GetSemChan()
|
|
|
+ if err == nil {
|
|
|
+ if len(semChan) > 0 {
|
|
|
+ val, err := json.Marshal(semChan)
|
|
|
+ if err == nil {
|
|
|
+ redis.Set(context.Background(), "semChanList", val, 0)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|