-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
package tools | ||
|
||
import ( | ||
"fmt" | ||
"github.com/openimsdk/protocol/msg" | ||
"github.com/openimsdk/tools/log" | ||
"github.com/openimsdk/tools/mcontext" | ||
"os" | ||
"time" | ||
) | ||
|
||
func (c *cronServer) deleteMsg() { | ||
now := time.Now() | ||
deltime := now.Add(-time.Hour * 24 * time.Duration(c.config.CronTask.RetainChatRecords)) | ||
ctx := mcontext.SetOperationID(c.ctx, fmt.Sprintf("cron_%d_%d", os.Getpid(), deltime.UnixMilli())) | ||
log.ZDebug(ctx, "Destruct chat records", "deltime", deltime, "timestamp", deltime.UnixMilli()) | ||
|
||
if _, err := c.msgClient.DestructMsgs(ctx, &msg.DestructMsgsReq{Timestamp: deltime.UnixMilli()}); err != nil { | ||
log.ZError(ctx, "cron destruct chat records failed", err, "deltime", deltime, "cont", time.Since(now)) | ||
return | ||
} | ||
log.ZDebug(ctx, "cron destruct chat records success", "deltime", deltime, "cont", time.Since(now)) | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
package tools | ||
|
||
import ( | ||
"fmt" | ||
"github.com/openimsdk/protocol/third" | ||
"github.com/openimsdk/tools/log" | ||
"github.com/openimsdk/tools/mcontext" | ||
"os" | ||
"time" | ||
) | ||
|
||
func (c *cronServer) clearS3() { | ||
start := time.Now() | ||
executeNum := 10 | ||
// number of pagination. if need modify, need update value in third.DeleteOutdatedData | ||
pageShowNumber := 500 | ||
deleteTime := start.Add(-time.Hour * 24 * time.Duration(c.config.CronTask.FileExpireTime)) | ||
operationID := fmt.Sprintf("cron_%d_%d", os.Getpid(), deleteTime.UnixMilli()) | ||
ctx := mcontext.SetOperationID(c.ctx, operationID) | ||
log.ZDebug(ctx, "deleteoutDatedData", "deletetime", deleteTime, "timestamp", deleteTime.UnixMilli()) | ||
for i := 1; i <= executeNum; i++ { | ||
ctx := mcontext.SetOperationID(c.ctx, fmt.Sprintf("%s_%d", operationID, i)) | ||
resp, err := c.thirdClient.DeleteOutdatedData(ctx, &third.DeleteOutdatedDataReq{ExpireTime: deleteTime.UnixMilli(), ObjectGroup: c.config.CronTask.DeleteObjectType, Count: int32(pageShowNumber)}) | ||
Check failure on line 23 in internal/tools/s3.go GitHub Actions / Test with go 1.21.x on ubuntu-latest
Check failure on line 23 in internal/tools/s3.go GitHub Actions / Test with go 1.21.x on ubuntu-latest
Check failure on line 23 in internal/tools/s3.go GitHub Actions / Test with go 1.21.x on ubuntu-latest
Check failure on line 23 in internal/tools/s3.go GitHub Actions / Test with go 1.21.x on ubuntu-latest
Check failure on line 23 in internal/tools/s3.go GitHub Actions / Benchmark Test with go 1.22.x on ubuntu-latest
Check failure on line 23 in internal/tools/s3.go GitHub Actions / Benchmark Test with go 1.22.x on ubuntu-latest
Check failure on line 23 in internal/tools/s3.go GitHub Actions / Benchmark Test with go 1.22.x on ubuntu-latest
Check failure on line 23 in internal/tools/s3.go GitHub Actions / Benchmark Test with go 1.22.x on ubuntu-latest
Check failure on line 23 in internal/tools/s3.go GitHub Actions / Test with go 1.22.x on ubuntu-latest
Check failure on line 23 in internal/tools/s3.go GitHub Actions / Test with go 1.22.x on ubuntu-latest
Check failure on line 23 in internal/tools/s3.go GitHub Actions / Test with go 1.22.x on ubuntu-latest
|
||
if err != nil { | ||
log.ZError(ctx, "cron deleteoutDatedData failed", err, "deleteTime", deleteTime, "cont", time.Since(start)) | ||
return | ||
} | ||
if resp.Count < int32(pageShowNumber) { | ||
break | ||
} | ||
} | ||
|
||
log.ZDebug(ctx, "cron deleteoutDatedData success", "deltime", deleteTime, "cont", time.Since(start)) | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
package tools | ||
|
||
import ( | ||
"fmt" | ||
pbconversation "github.com/openimsdk/protocol/conversation" | ||
"github.com/openimsdk/protocol/msg" | ||
"github.com/openimsdk/tools/log" | ||
"github.com/openimsdk/tools/mcontext" | ||
"os" | ||
"time" | ||
) | ||
|
||
func (c *cronServer) clearUserMsg() { | ||
now := time.Now() | ||
ctx := mcontext.SetOperationID(c.ctx, fmt.Sprintf("cron_%d_%d", os.Getpid(), now.UnixMilli())) | ||
log.ZDebug(ctx, "clear msg cron start", "now", now) | ||
|
||
conversations, err := c.conversationClient.GetConversationsNeedClearMsg(ctx, &pbconversation.GetConversationsNeedClearMsgReq{}) | ||
if err != nil { | ||
log.ZError(ctx, "Get conversation need Destruct msgs failed.", err) | ||
return | ||
} | ||
|
||
_, err = c.msgClient.ClearMsg(ctx, &msg.ClearMsgReq{Conversations: conversations.Conversations}) | ||
if err != nil { | ||
log.ZError(ctx, "Clear Msg failed.", err) | ||
return | ||
} | ||
|
||
log.ZDebug(ctx, "clear msg cron task completed", "cont", time.Since(now)) | ||
} |