125 lines
3.7 KiB
Go
125 lines
3.7 KiB
Go
package cron
|
||
|
||
import (
|
||
"fmt"
|
||
"planA/modules/logs"
|
||
|
||
"github.com/robfig/cron/v3"
|
||
)
|
||
|
||
// Init 定时器初始化
|
||
func Init() {
|
||
c := cron.New(cron.WithSeconds()) // 支持秒级别的精度
|
||
// 每日执行删除sqlite过期记录
|
||
_, delSqlIteErr := c.AddFunc("0 0 0 * * ?", func() {
|
||
DeleteOldSkuWatermarkImage() //删除过期的 sku水印图片
|
||
DeleteOldWatermarkImage() //删除过期的水印图片
|
||
DeleteOldExportFile() //删除过期的导出文件
|
||
DeleteOldRedis() //删除 redis中过期数据
|
||
DeleteOldRecords() //删除task_record过期记录
|
||
DeleteOldExport() //删除task_export过期记录
|
||
DeleteZipFile() //删除 zip文件
|
||
DeleteDelTaskAndDelTaskDetails() //删除任务
|
||
})
|
||
if delSqlIteErr != nil {
|
||
logs.LoggingMiddleware("error", "定时任务 每日执行删除sqlite过期记录 失败")
|
||
return
|
||
}
|
||
//心跳检测 10秒
|
||
_, heartbeatErr := c.AddFunc("0/10 * * * * ?", func() {
|
||
CheckBannedWordSubstitutionUrlAlive() // 违禁词替换心跳
|
||
CheckMysqlAlive() // mysql 心跳
|
||
CheckRedisAlive() // redis 心跳
|
||
CheckPddAlive() // 拼多多心跳
|
||
CheckCreateTaskNoticeUrlAlive() // 创建任务通知心跳
|
||
CheckXyBannedWord() // 闲鱼违禁词
|
||
return
|
||
})
|
||
if heartbeatErr != nil {
|
||
logs.LoggingMiddleware("error", "定时任务 心跳检测 失败")
|
||
return
|
||
}
|
||
// 60秒钟检测一次
|
||
_, bErr := c.AddFunc("0/60 * * * * ?", func() {
|
||
B()
|
||
})
|
||
if bErr != nil {
|
||
logs.LoggingMiddleware("error", "定时任务 B 函数 启动失败")
|
||
return
|
||
}
|
||
|
||
// 每日执行删除过期日志文件
|
||
_, delLogErr := c.AddFunc("0 0 0 * * ?", func() {
|
||
DeleteOldLog("logs\\debug")
|
||
DeleteOldLog("logs\\info")
|
||
DeleteOldLog("logs\\warning")
|
||
DeleteOldLog("logs\\error")
|
||
DeleteOldLog("logs\\success")
|
||
})
|
||
if delLogErr != nil {
|
||
logs.LoggingMiddleware("error", "定时任务 删除过期日志文件 启动失败")
|
||
return
|
||
}
|
||
|
||
// 启动删除任务
|
||
_, executeDelTaskErr := c.AddFunc("0/10 * * * * ?", func() {
|
||
ExecuteDelTask()
|
||
})
|
||
if executeDelTaskErr != nil {
|
||
logs.LoggingMiddleware("error", "定时任务 启动删除任务 启动失败")
|
||
return
|
||
}
|
||
|
||
// 30分钟执行一次
|
||
_, verifyTokenErr := c.AddFunc("0 0/30 * * * ?", func() {
|
||
VerifyToken()
|
||
})
|
||
if verifyTokenErr != nil {
|
||
logs.LoggingMiddleware("error", "定时任务 30分钟执行一次 启动失败")
|
||
return
|
||
}
|
||
|
||
// 删除指定目录的文件夹
|
||
_, delDirFolderErr := c.AddFunc("0 0 0 * * ?", func() {
|
||
DeleteKfzTempImg()
|
||
})
|
||
if delDirFolderErr != nil {
|
||
logs.LoggingMiddleware("error", "定时任务 删除指定目录的文件夹 启动失败")
|
||
return
|
||
}
|
||
|
||
// 五秒执行一次
|
||
_, runFErr := c.AddFunc("0/5 * * * * ?", func() {
|
||
runFErr := RunF()
|
||
if runFErr != nil {
|
||
fmt.Println(runFErr)
|
||
logs.LoggingMiddleware("error", "定时任务 启动planF.exe 启动失败")
|
||
return
|
||
}
|
||
})
|
||
if runFErr != nil {
|
||
logs.LoggingMiddleware("error", "定时任务 启动planF.exe 启动失败")
|
||
return
|
||
}
|
||
|
||
//// 备份 body_backup到硬盘 - 每分钟执行一次,使用锁防止并发(挪到C.exe)
|
||
//_, backupBodyBackupErr := c.AddFunc("0 * * * * ?", func() {
|
||
// BackupBodyBackup()
|
||
//})
|
||
//if backupBodyBackupErr != nil {
|
||
// logs.LoggingMiddleware("error", "定时任务 备份 body_backup到硬盘 启动失败")
|
||
// return
|
||
//}
|
||
//
|
||
//// 每天上午9点压缩昨天csv文件(挪到C.exe)
|
||
//_, zipBackupFileErr := c.AddFunc("0 0 9 * * ?", func() {
|
||
// ZipBackupFile()
|
||
//})
|
||
//if zipBackupFileErr != nil {
|
||
// logs.LoggingMiddleware("error", "定时任务 zipBackupFile 启动失败")
|
||
// return
|
||
//}
|
||
|
||
c.Start() // 启动调度器(非阻塞)
|
||
}
|