diff --git a/cmd/open_im_cron_task/main.go b/cmd/open_im_cron_task/main.go index 1e7396d61..30ed7aea7 100644 --- a/cmd/open_im_cron_task/main.go +++ b/cmd/open_im_cron_task/main.go @@ -3,9 +3,10 @@ package main import ( "Open_IM/internal/cron_task" "fmt" + "time" ) func main() { - fmt.Println("start cronTask") + fmt.Println(time.Now(), "start cronTask") cronTask.StartCronTask() } diff --git a/internal/cron_task/clear_msg_test.go b/internal/cron_task/clear_msg_test.go index b1621c26d..046af9162 100644 --- a/internal/cron_task/clear_msg_test.go +++ b/internal/cron_task/clear_msg_test.go @@ -2,14 +2,68 @@ package cronTask import ( "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/db" "Open_IM/pkg/common/log" + pbMsg "Open_IM/pkg/proto/msg" + server_api_params "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" "testing" + "time" ) +func getMsgListFake(num int) []*pbMsg.MsgDataToMQ { + var msgList []*pbMsg.MsgDataToMQ + for i := 1; i < num; i++ { + msgList = append(msgList, &pbMsg.MsgDataToMQ{ + Token: "tk", + OperationID: "operationID", + MsgData: &server_api_params.MsgData{ + SendID: "sendID1", + RecvID: "recvID1", + GroupID: "", + ClientMsgID: "xxx", + ServerMsgID: "xxx", + SenderPlatformID: 1, + SenderNickname: "testNickName", + SenderFaceURL: "testFaceURL", + SessionType: 1, + MsgFrom: 100, + ContentType: 101, + Content: []byte("testFaceURL"), + Seq: uint32(i), + SendTime: time.Now().Unix(), + CreateTime: time.Now().Unix(), + Status: 1, + }, + }) + } +} + func TestDeleteMongoMsgAndResetRedisSeq(t *testing.T) { operationID := getCronTaskOperationID() - testUserIDList := []string{"test_del_id1", "test_del_id2", "test_del_id3", "test_del_id4", "test_del_id5"} + testUID1 := "test_del_id1" + //testUID2 := "test_del_id2" + //testUID3 := "test_del_id3" + //testUID4 := "test_del_id4" + //testUID5 := "test_del_id5" + //testUID6 := "test_del_id6" + testUserIDList := []string{testUID1} + + db.DB.SetUserMaxSeq(testUID1, 500) + db.DB.BatchInsertChat2DB(testUID1, getMsgListFake(500), testUID1+"-"+operationID, 500) + + //db.DB.SetUserMaxSeq(testUID1, 6000) + //db.DB.BatchInsertChat2DB() + // + //db.DB.SetUserMaxSeq(testUID1, 4999) + //db.DB.BatchInsertChat2DB() + // + //db.DB.SetUserMaxSeq(testUID1, 30000) + //db.DB.BatchInsertChat2DB() + // + //db.DB.SetUserMaxSeq(testUID1, 9999) + //db.DB.BatchInsertChat2DB() + for _, userID := range testUserIDList { operationID = userID + "-" + operationID if err := DeleteMongoMsgAndResetRedisSeq(operationID, userID); err != nil { diff --git a/internal/cron_task/cron_task.go b/internal/cron_task/cron_task.go index b493b1f37..87c2fbb46 100644 --- a/internal/cron_task/cron_task.go +++ b/internal/cron_task/cron_task.go @@ -31,14 +31,14 @@ func StartCronTask() { if err := DeleteMongoMsgAndResetRedisSeq(operationID, userID); err != nil { log.NewError(operationID, utils.GetSelfFuncName(), err.Error(), userID) } - //if err := checkMaxSeqWithMongo(operationID, userID, constant.WriteDiffusion); err != nil { - // log.NewError(operationID, utils.GetSelfFuncName(), userID, err) - //} + if err := checkMaxSeqWithMongo(operationID, userID, constant.WriteDiffusion); err != nil { + log.NewError(operationID, utils.GetSelfFuncName(), userID, err) + } } } else { log.NewError(operationID, utils.GetSelfFuncName(), err.Error()) } - return + //return // working group msg clear workingGroupIDList, err := im_mysql_model.GetGroupIDListByGroupType(constant.WorkingGroup) if err == nil { @@ -53,9 +53,9 @@ func StartCronTask() { if err := ResetUserGroupMinSeq(operationID, groupID, userIDList); err != nil { log.NewError(operationID, utils.GetSelfFuncName(), err.Error(), groupID, userIDList) } - //if err := checkMaxSeqWithMongo(operationID, groupID, constant.ReadDiffusion); err != nil { - // log.NewError(operationID, utils.GetSelfFuncName(), groupID, err) - //} + if err := checkMaxSeqWithMongo(operationID, groupID, constant.ReadDiffusion); err != nil { + log.NewError(operationID, utils.GetSelfFuncName(), groupID, err) + } } } else { log.NewError(operationID, utils.GetSelfFuncName(), err.Error())