renjiaojiao 1 год назад
Родитель
Сommit
458cad1248
6 измененных файлов с 44 добавлено и 1 удалено
  1. 2 0
      go.mod
  2. 5 0
      go.sum
  3. 2 1
      rpc/etc/message.yaml
  4. 33 0
      rpc/internal/common/task.go
  5. 1 0
      rpc/internal/config/config.go
  6. 1 0
      rpc/message.go

+ 2 - 0
go.mod

@@ -6,8 +6,10 @@ require (
 	app.yhyue.com/moapp/jybase v0.0.0-20230901064756-2fc66b18db40
 	bp.jydev.jianyu360.cn/BaseService/gateway v1.3.4
 	github.com/ClickHouse/clickhouse-go/v2 v2.2.0
+	github.com/RoaringBitmap/roaring v1.5.0
 	github.com/go-xorm/xorm v0.7.9
 	github.com/gogf/gf/contrib/drivers/clickhouse/v2 v2.6.1
+	github.com/robfig/cron/v3 v3.0.1
 	github.com/zeromicro/go-zero v1.3.5
 	google.golang.org/grpc v1.47.0
 	google.golang.org/protobuf v1.28.0

+ 5 - 0
go.sum

@@ -76,6 +76,7 @@ github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q
 github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
 github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
 github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
+github.com/RoaringBitmap/roaring v1.5.0 h1:V0VCSiHjroItEYCM3guC8T83ehi5QMt3oM9EefTTOms=
 github.com/RoaringBitmap/roaring v1.5.0/go.mod h1:plvDsJQpxOC5bw8LRteu/MLWHsHez/3y6cubLI4/1yE=
 github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo=
 github.com/Shopify/sarama v1.30.0/go.mod h1:zujlQQx1kzHsh4jfV1USnptCQrHAEZ2Hk8fTKCulPVs=
@@ -103,6 +104,7 @@ github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24
 github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
 github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
 github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
+github.com/bits-and-blooms/bitset v1.2.0 h1:Kn4yilvwNtMACtf1eYDlG8H77R07mZSPbMjLyS07ChA=
 github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA=
 github.com/bkaradzic/go-lz4 v1.0.0/go.mod h1:0YdlkowM3VswSROI7qDxhRvJ3sLhlFrRRwjwegp5jy4=
 github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
@@ -462,6 +464,7 @@ github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3Rllmb
 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/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=
+github.com/mschoch/smat v0.2.0 h1:8imxQsjDm8yFEAVBe7azKmKSgzSkZXDuKkSq9374khM=
 github.com/mschoch/smat v0.2.0/go.mod h1:kc9mz7DoBKqDyiRL7VZN8KvXQMWeTaVnttLRXOlotKw=
 github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
 github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
@@ -559,6 +562,8 @@ github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqn
 github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
 github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
 github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
+github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs=
+github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro=
 github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
 github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
 github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=

+ 2 - 1
rpc/etc/message.yaml

@@ -72,4 +72,5 @@ Clickhouse:
   Password: pwdTopJy123
   DbName: messageCenter
   MaxIdleConns: 5
-  MaxOpenConns: 30
+  MaxOpenConns: 30
+GlobMsgLoadTime: "0 0/5 * * * *"

+ 33 - 0
rpc/internal/common/task.go

@@ -0,0 +1,33 @@
+package common
+
+import (
+	"app.yhyue.com/moapp/MessageCenter/entity"
+	"app.yhyue.com/moapp/MessageCenter/rpc/internal/config"
+	"app.yhyue.com/moapp/jybase/common"
+	"fmt"
+	"github.com/robfig/cron/v3"
+)
+
+var GlobMsgMap map[int]map[string]interface{}
+
+func LoadTask() {
+	// 每隔10分钟执行一次
+	LoadMsgOnTime()
+	c := cron.New(cron.WithSeconds())
+	c.AddFunc(config.ConfigJson.GlobMsgLoadTime, LoadMsgOnTime)
+	go c.Start()
+	defer c.Stop()
+}
+
+func LoadMsgOnTime() {
+	fmt.Println("开始执行")
+	msgMap := make(map[int]map[string]interface{})
+	m := entity.Mysql.SelectBySql("SELECT id,msg_type,title,content,send_time,link,menu_name,group_id FROM message_send_log WHERE send_status = 4 AND isdel = 1 ORDER BY send_time DESC limit 2000")
+	if m != nil && len(*m) > 0 {
+		for _, val := range *m {
+			msgMap[common.IntAll(val["id"])] = val
+		}
+		GlobMsgMap = msgMap
+	}
+	fmt.Println("GlobMsgMap len", len(GlobMsgMap))
+}

+ 1 - 0
rpc/internal/config/config.go

@@ -26,6 +26,7 @@ type Config struct {
 	TidbEng         string  `json:"Tidb"`
 	ClassSearchList []int64 `json:"ClassSearchList"` // 需要按照messageclass 查询的groupId
 	Clickhouse      *CHouseConfig
+	GlobMsgLoadTime string `json:"GlobMsgLoadTime"`
 }
 
 type CHouseConfig struct {

+ 1 - 0
rpc/message.go

@@ -124,6 +124,7 @@ func init() {
 	}
 	entity.Engine, _ = xorm.NewEngine("mysql", config.ConfigJson.TidbEng)
 	entity.Engine.ShowSQL(true)
+	common.LoadTask()
 }
 
 // 创建clickhouse连接