main.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package main
  2. import (
  3. "context"
  4. "encoding/json"
  5. "fmt"
  6. "gitdxz.51daxuetong.cn/go_dev/bids_rpcx/config"
  7. "gitdxz.51daxuetong.cn/go_dev/bids_rpcx/lib"
  8. "gitdxz.51daxuetong.cn/go_dev/bids_rpcx/service"
  9. "github.com/smallnest/rpcx/server"
  10. "time"
  11. )
  12. func main() {
  13. config.Init()
  14. s := server.NewServer()
  15. s.Register(new(service.BidsSvc), "")
  16. add := config.GetConfig().String("addr")
  17. fmt.Println("监听地址:" + add)
  18. go func() {
  19. for {
  20. refreshSemCate()
  21. refreshSemChan()
  22. <-time.After(5 * time.Minute)
  23. }
  24. }()
  25. err := s.Serve("tcp", add)
  26. if err != nil {
  27. panic(err)
  28. }
  29. }
  30. func refreshSemCate() {
  31. redis, err := lib.GetRedisClient()
  32. if err != nil {
  33. time.Sleep(10 * time.Second)
  34. redis, err = lib.GetNewRedisClient()
  35. if err != nil {
  36. panic(err)
  37. }
  38. }
  39. bids := service.Bids{}
  40. semCate, err := bids.GetSemCategory()
  41. if err == nil {
  42. if len(semCate) > 0 {
  43. val, err := json.Marshal(semCate)
  44. if err == nil {
  45. redis.Set(context.Background(), "semCategoryList", val, 0)
  46. }
  47. }
  48. }
  49. }
  50. func refreshSemChan() {
  51. redis, err := lib.GetRedisClient()
  52. if err != nil {
  53. panic(err)
  54. }
  55. bids := service.Bids{}
  56. semChan, err := bids.GetSemChan()
  57. if err == nil {
  58. if len(semChan) > 0 {
  59. val, err := json.Marshal(semChan)
  60. if err == nil {
  61. redis.Set(context.Background(), "semChanList", val, 0)
  62. }
  63. }
  64. }
  65. }