@ -41,7 +41,7 @@ type CronTaskConfig struct {
}
}
func Start ( ctx context . Context , config * CronTaskConfig ) error {
func Start ( ctx context . Context , config * CronTaskConfig ) error {
log . CInfo ( ctx , "CRON-TASK server is initializing" , "chatRecordsClearTime" , config . CronTask . C hatRecordsClear Time, "msgDestructTime" , config . CronTask . RetainChatRecords )
log . CInfo ( ctx , "CRON-TASK server is initializing" , "chatRecordsClearTime" , config . CronTask . C ronExecute Time, "msgDestructTime" , config . CronTask . RetainChatRecords )
if config . CronTask . RetainChatRecords < 1 {
if config . CronTask . RetainChatRecords < 1 {
return errs . New ( "msg destruct time must be greater than 1" ) . Wrap ( )
return errs . New ( "msg destruct time must be greater than 1" ) . Wrap ( )
}
}
@ -68,29 +68,31 @@ func Start(ctx context.Context, config *CronTaskConfig) error {
}
}
log . ZInfo ( ctx , "cron clear chat records success" , "deltime" , deltime , "cont" , time . Since ( now ) )
log . ZInfo ( ctx , "cron clear chat records success" , "deltime" , deltime , "cont" , time . Since ( now ) )
}
}
if _ , err := crontab . AddFunc ( config . CronTask . C hatRecordsClear Time, clearFunc ) ; err != nil {
if _ , err := crontab . AddFunc ( config . CronTask . C ronExecute Time, clearFunc ) ; err != nil {
return errs . Wrap ( err )
return errs . Wrap ( err )
}
}
tConn , err := client . GetConn ( ctx , config . Share . RpcRegisterName . Third )
if err != nil {
return err
}
thirdClient := third . NewThirdClient ( tConn )
deleteFunc := func ( ) {
deleteFunc := func ( ) {
now := time . Now ( )
now := time . Now ( )
deleteTime := now . Add ( - time . Hour * 24 * time . Duration ( config . CronTask . FileExpireTime ) )
deleteTime := now . Add ( - time . Hour * 24 * time . Duration ( config . CronTask . FileExpireTime ) )
ctx := mcontext . SetOperationID ( ctx , fmt . Sprintf ( "cron_%d_%d" , os . Getpid ( ) , deleteTime . UnixMilli ( ) ) )
ctx := mcontext . SetOperationID ( ctx , fmt . Sprintf ( "cron_%d_%d" , os . Getpid ( ) , deleteTime . UnixMilli ( ) ) )
log . ZInfo ( ctx , "deleteoutDatedData " , "deletetime" , deleteTime , "timestamp" , deleteTime . UnixMilli ( ) )
log . ZInfo ( ctx , "deleteoutDatedData " , "deletetime" , deleteTime , "timestamp" , deleteTime . UnixMilli ( ) )
tConn , err := client . GetConn ( ctx , config . Share . RpcRegisterName . Third )
if err != nil {
return
}
thirdClient := third . NewThirdClient ( tConn )
if _ , err := thirdClient . DeleteOutdatedData ( ctx , & third . DeleteOutdatedDataReq { ExpireTime : deleteTime . UnixMilli ( ) } ) ; err != nil {
if _ , err := thirdClient . DeleteOutdatedData ( ctx , & third . DeleteOutdatedDataReq { ExpireTime : deleteTime . UnixMilli ( ) } ) ; err != nil {
log . ZError ( ctx , "cron deleteoutDatedData failed" , err , "deleteTime" , deleteTime , "cont" , time . Since ( now ) )
log . ZError ( ctx , "cron deleteoutDatedData failed" , err , "deleteTime" , deleteTime , "cont" , time . Since ( now ) )
return
return
}
}
log . ZInfo ( ctx , "cron deleteoutDatedData success" , "deltime" , deleteTime , "cont" , time . Since ( now ) )
log . ZInfo ( ctx , "cron deleteoutDatedData success" , "deltime" , deleteTime , "cont" , time . Since ( now ) )
}
}
if _ , err := crontab . AddFunc ( string ( config . CronTask . FileExpireTime) , deleteFunc ) ; err != nil {
if _ , err := crontab . AddFunc ( config . CronTask . CronExecuteTime , deleteFunc ) ; err != nil {
return errs . Wrap ( err )
return errs . Wrap ( err )
}
}
log . ZInfo ( ctx , "start cron task" , " chatRecordsClearTime", config . CronTask . ChatRecordsClear Time)
log . ZInfo ( ctx , "start cron task" , " CronExecuteTime", config . CronTask . CronExecute Time)
crontab . Start ( )
crontab . Start ( )
<- ctx . Done ( )
<- ctx . Done ( )
return nil
return nil