Ver código fonte

资源定时任务

WH01243 1 ano atrás
pai
commit
0a1eacbeb2

+ 3 - 1
resourceBrushLibrary/config.json

@@ -52,5 +52,7 @@
 		"pcUrl":"/home/work-bench/app/points/earn",
 		"mobileUrl":"/jy_mobile/points/earn"
 	}
-  }
+  },
+  "monthlyTask": "0 0 0 1 * ? ",
+  "minTask": "0 0/1 * * * ? "
 }

+ 2 - 0
resourceBrushLibrary/config/config.go

@@ -53,6 +53,8 @@ type config struct {
 	Messages             struct {
 		TaskExpire *MsgConf
 	}
+	MinTask     string
+	MonthlyTask string
 }
 
 type mysqlConf struct {

+ 4 - 4
resourceBrushLibrary/entity/order.go

@@ -11,8 +11,8 @@ import (
 
 func OrderResource() {
 	now := time.Now()
-	//start := now.Add(-time.Minute * 1).Unix()
-	start := now.AddDate(-1, 0, 0).Unix()
+	start := now.Add(-time.Minute * 1).Unix()
+	//start := now.AddDate(-1, 0, 0).Unix()
 	log.Println("user", start, now.Unix())
 	it := Mgo_qfw.GetMgoConn().DB("qfw").C("user").Find(map[string]interface{}{
 		"i_appid": 2,
@@ -35,7 +35,7 @@ func OrderResource() {
 	log.Println("user", it)
 	for user := make(map[string]interface{}); it.Next(&user); {
 		//每个用户生成10个附件下载包
-		/*userId := qu.InterfaceToStr(user["_id"])
+		userId := qu.InterfaceToStr(user["_id"])
 		vipTime := time.Unix(qu.Int64All(user["l_vip_starttime"]), 0).Format("2006-01-02")
 		Purchase.PurchaseUserBalance(resourcesCenterclient.Resources{
 			AppId:        "10000",
@@ -48,7 +48,7 @@ func OrderResource() {
 			EndTime:      endTime,
 			VipTime:      vipTime,
 			Model:        3,
-		})*/
+		})
 	}
 	//企业版超级订阅处理
 	log.Println("ent_user", start, now.Unix())

+ 1 - 0
resourceBrushLibrary/go.mod

@@ -7,6 +7,7 @@ require (
 	app.yhyue.com/moapp/jyResourcesCenter v0.0.0-20231024011103-8a2aacdbbd3e
 	app.yhyue.com/moapp/jybase v0.0.0-20231011022039-fa0f75e5282f
 	bp.jydev.jianyu360.cn/BaseService/pushpkg v0.0.0-20231027034538-be5fd3ef2b25
+	github.com/robfig/cron v1.2.0
 	github.com/zeromicro/go-zero v1.5.5
 )
 

+ 1 - 0
resourceBrushLibrary/go.sum

@@ -1294,6 +1294,7 @@ github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqn
 github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
 github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
 github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
+github.com/robfig/cron v1.2.0 h1:ZjScXvvxeQ63Dbyxy76Fj3AT3Ut0aKsyd2/tl3DTMuQ=
 github.com/robfig/cron v1.2.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k=
 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=

+ 28 - 8
resourceBrushLibrary/main.go

@@ -1,26 +1,46 @@
 package main
 
 import (
+	"github.com/robfig/cron"
 	"log"
+	"resourceBrushLibrary/config"
 	"resourceBrushLibrary/entity"
 	"time"
 )
 
 func main() {
 	go (&entity.LimitTimeActivity{}).Run()
-	timeDask2()
+	go MinTask()
+	go MonthlyTask()
 	<-chan bool(nil)
 }
 
-// 每执行
-func timeDask() {
+// 每执行
+func MonthlyTask() {
 	log.Println(time.Now())
-	entity.PersonResource()
-	entity.EntResource()
+	c := cron.New()
+	// 添加要执行的任务
+	c.AddFunc(config.Config.MonthlyTask, func() {
+		// 执行任务的代码
+		entity.PersonResource()
+		//entity.EntResource()
+	})
+	// 启动Cron调度器
+	c.Start()
+	select {}
 }
 
-// 十秒一次
-func timeDask2() {
+// 每分钟执行
+func MinTask() {
 	log.Println(time.Now())
-	entity.OrderResource()
+
+	c := cron.New()
+	// 添加要执行的任务
+	c.AddFunc(config.Config.MinTask, func() {
+		// 执行任务的代码
+		entity.OrderResource()
+	})
+	// 启动Cron调度器
+	c.Start()
+	select {}
 }

+ 6 - 9
resourceBrushLibrary/rpc/message.go

@@ -1,33 +1,30 @@
 package rpc
 
 import (
-	"context"
-	"fmt"
-	"log"
-	. "resourceBrushLibrary/config"
-
 	"app.yhyue.com/moapp/MessageCenter/rpc/messageclient"
 	"app.yhyue.com/moapp/MessageCenter/rpc/type/message"
-	"github.com/zeromicro/go-zero/core/discov"
+	"context"
+	"fmt"
 	"github.com/zeromicro/go-zero/zrpc"
+	"log"
 )
 
 var messageClient zrpc.Client
 
 func init() {
 	var err error
-	messageClient, err = zrpc.NewClient(zrpc.RpcClientConf{
+	/*messageClient, err = zrpc.NewClient(zrpc.RpcClientConf{
 		Etcd: discov.EtcdConf{
 			Hosts: Config.ResourceEtcdConf.Hosts,
 			Key:   Config.MessageKey,
 		},
-	})
+	})*/
 	if err != nil {
 		log.Fatalln(err)
 	}
 }
 
-//新用户注册,发送增送剑鱼币消息
+// 新用户注册,发送增送剑鱼币消息
 func SendMsg(req *message.MultipleSaveMsgReq) error {
 	resp, err := messageclient.NewMessage(messageClient).MultipleSaveMsg(context.Background(), req)
 	if err != nil {