Initial commit

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-15 13:57:10 +08:00
co-authored by Claude Opus 5
commit 8679200f41
1897 changed files with 257900 additions and 0 deletions
+104
View File
@@ -0,0 +1,104 @@
package job
import (
"sync"
"time"
"91porn-server/common"
"91porn-server/common/log"
"91porn-server/skd/job/cache/tonecache"
"91porn-server/skd/job/stat/keyword"
"91porn-server/skd/job/stat/kwrank"
"91porn-server/skd/job/stat/rank"
"91porn-server/skd/job/stat/rechorder"
"91porn-server/skd/job/stat/statuser"
"91porn-server/skd/job/stat/tagplay"
"91porn-server/skd/job/stat/video"
"91porn-server/skd/job/stat/vidtotal"
"91porn-server/skd/job/stat/withorder"
"91porn-server/skd/skdg"
)
var (
statIsRunning = false //true:统计任务运行中,反之停止,
statRankIsRunning = false
)
// 运行统计任务
func runStat() {
//防止重入
if statIsRunning {
return
}
statIsRunning = true
defer func() {
statIsRunning = false
}()
doStat() //做统计业务
}
// 做统计业务
func doStat() {
defaultStatDate, err := getDefaultStatDate()
if err != nil {
log.Error("defaultStatDate invalid", log.E(err))
return
}
methodM := []func(){
//主要用于app
func() { //"关键字"
keyword.RunStat(defaultStatDate)
kwrank.RunStat(defaultStatDate) //有执行顺序
},
func() { //"标签播放"
tagplay.RunStat(defaultStatDate)
},
func() { //"用户数据"
statuser.RunStat(defaultStatDate)
},
// func() { //"ranks"
//rankcache.Update()
// },
func() { //"tone"
tonecache.Update()
},
func() { //"视屏"
video.RunStat(defaultStatDate)
vidtotal.RunStat(defaultStatDate) //有执行顺序
},
func() { //"充值订单"
rechorder.RunStat(defaultStatDate)
},
func() { //"兑换订单"
withorder.RunStat(defaultStatDate)
},
}
time.Sleep(time.Duration(30) * time.Second)
wg := sync.WaitGroup{}
wg.Add(len(methodM))
for _, method := range methodM {
_method := method
common.Go(func() {
defer wg.Done()
_method()
})
}
wg.Wait()
}
func getDefaultStatDate() (time.Time, error) {
return time.ParseInLocation("2006-01-02", skdg.Conf.StartDate, time.Local)
}
// 运行排行榜
func runRankStat() {
//防止重入
if statRankIsRunning {
return
}
statRankIsRunning = true
defer func() {
statRankIsRunning = false
}()
rank.RunStat()
}