过滤规则增加个性化字段1

This commit is contained in:
chejiulong 2023-02-28 18:48:53 +08:00
parent 5c0498c102
commit 3c9a16cf2f
3 changed files with 8 additions and 10 deletions

Binary file not shown.

Binary file not shown.

18
main.go
View File

@ -159,7 +159,7 @@ func init() {
batchSize = 5000 //提交数据
insertSize = 500 //一次性入库
insertChanSize = 50 //通道缓冲数
goSize = 10 //协程数
goSize = 50 //协程数
taskTime = 60
to = []string{"chejiulong@wemediacn.com", "xiayujuan@wemediacn.com", "wangyuanbing@wemediacn.com", "tangweiqi@wemediacn.com"}
default:
@ -179,6 +179,7 @@ func init() {
Password: redisPassword,
DB: redisDB,
})
}
func main() {
@ -204,11 +205,10 @@ func main() {
}
logOutput := io.MultiWriter(os.Stdout, logFileHook) // 将日志同时输出到控制台和文件
applogger.SetOutput(logOutput)
applogger.Info(fmt.Sprintf("程序启动,加载%s环境尝试第1次执行...", env))
applogger.Info(fmt.Sprintf("程序启动,加载%s环境尝试执行...", env))
go downloadDecompression() // 启动立即执行一次
ticker := time.NewTicker(time.Duration(taskTime) * time.Minute) // 创建一个定时器
tickCount := 2 //记录循环次数
defer ticker.Stop() // 延迟关闭定时器,确保所有的定时器事件都被处理完毕
// 循环处理任务
for {
@ -222,10 +222,8 @@ func main() {
}
logOutput := io.MultiWriter(os.Stdout, logFileHook) // 将日志同时输出到控制台和文件
applogger.SetOutput(logOutput)
//fmt.Printf("尝试第%d次执行....\n", tickCount)
applogger.Info(fmt.Sprintf("尝试第%d次执行...", tickCount))
go downloadDecompression() // 在新协程中异步执行
tickCount++
applogger.Info("尝试执行...")
go downloadDecompression()
}
}
}
@ -293,7 +291,7 @@ func downloadDecompression() {
continue
}
//fmt.Printf("%s数据包下载完成\n", file.Name())
applogger.Error(fmt.Sprintf("%s数据包下载完成", file.Name()))
applogger.Info(fmt.Sprintf("%s数据包下载完成", file.Name()))
// Unzip file
zipReader, err := zip.OpenReader(path.Join(executableDir, zipPath, file.Name()))
if err != nil {
@ -485,7 +483,7 @@ func batchDataInsert(fileName string) {
duplicateCount[row[2]] = 0
}
// Check if record exists in hashset
key := fmt.Sprintf("%s-%s", row[2], row[3])
key := fmt.Sprintf("%s-%s-%s", row[2], row[3], row[5])
if _, exists := hs[key]; exists { //如果批次数据重复
bi++
// Increment duplicate count
@ -571,7 +569,7 @@ func batchDataInsert(fileName string) {
subject := "丝芙兰数据包处理完成"
body := "数据包:" + fileName + ";\n总数" + strconv.Itoa(count+bi) + ";\n过滤重复数" + strconv.Itoa(bi) + ";\n过滤后总数" + strconv.Itoa(count) + ";\n处理完成请前往管理平台查看处理。"
SendEmail(subject, body) //发送邮件
applogger.Info(fmt.Sprintf(fmt.Sprintf("%s数据包 ,入库完成", fileName)))
applogger.Info(fmt.Sprintf(fmt.Sprintf("%s数据包 入库完成", fileName)))
applogger.Info(fmt.Sprintf("%s数据包执行时间:%s 插入数据:%d条 过滤数数:%d条", fileName, elapsed, count, bi))
}
}