You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Open-IM-Server/internal/tools/cron_task.go

34 lines
836 B

2 years ago
package tools
import (
"fmt"
2 years ago
"sync"
2 years ago
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/config"
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/log"
2 years ago
"github.com/robfig/cron/v3"
)
const moduleName = "cron"
func StartCronTask() error {
log.NewPrivateLog(moduleName)
2 years ago
log.NewInfo("StartCronTask", "start cron task", "cron config", config.Config.Mongo.ChatRecordsClearTime)
2 years ago
fmt.Println("cron task start, config", config.Config.Mongo.ChatRecordsClearTime)
msgTool, err := InitMsgTool()
if err != nil {
return err
}
c := cron.New()
var wg sync.WaitGroup
wg.Add(1)
2 years ago
_, err = c.AddFunc(config.Config.Mongo.ChatRecordsClearTime, msgTool.AllConversationClearMsgAndFixSeq)
2 years ago
if err != nil {
fmt.Println("start cron failed", err.Error(), config.Config.Mongo.ChatRecordsClearTime)
return err
}
c.Start()
wg.Wait()
return nil
}