Initial commit

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-23 11:07:42 +08:00
co-authored by Claude Opus 5.5
commit 7974a42301
633 changed files with 120248 additions and 0 deletions
+69
View File
@@ -0,0 +1,69 @@
package skd
import (
"math/rand"
"time"
"videoweb/pub/common/log"
"videoweb/web/service/srv_mediaresource"
job "videoweb/web/skd/job/reportdata"
"videoweb/web/skd/job/vipexpiry"
"videoweb/web/skd/playletwatermark"
"github.com/robfig/cron/v3"
)
var (
skdCron *cron.Cron
)
func init() {
skdCron = cron.New(cron.WithSeconds()) // 秒级定时任务
}
func Start() {
log.Info("skd start...")
rand.Seed(time.Now().UnixNano())
// 短剧水印:每5分钟提交最多10条未处理剧集到 media
_, _ = skdCron.AddFunc("0 */5 * * * ?", func() {
playletwatermark.SubmitPendingChapters()
})
// 短剧水印:每3分钟拉取 media 已完成任务并回写剧集
_, _ = skdCron.AddFunc("0 */3 * * * ?", func() {
playletwatermark.SyncCompletedChapters()
})
// 连载中短剧:每60分钟扫描一次并投递到 Redis 队列,由后台消费者逐条同步
_, _ = skdCron.AddFunc(srv_mediaresource.PlayletSerialSyncCronSpec, func() {
srv_mediaresource.EnqueueSerialPlayletSyncJobs()
})
// 历史短剧压缩封面:每5分钟扫描压缩封面为空的记录并投递队列
_, _ = skdCron.AddFunc(srv_mediaresource.PlayletCoverCompressCronSpec, func() {
srv_mediaresource.EnqueuePlayletCoverCompressJobs()
})
_, _ = skdCron.AddFunc("0/1 * * * * ?", func() { // 每秒执行一次批量上报
job.Report()
})
// 每天凌晨 02:00 重置 VIP 已过期用户的 VipType
_, _ = skdCron.AddFunc("0 0 2 * * ?", func() {
vipexpiry.ResetExpiredVip()
})
//if webg.Conf.LsjMediaConf.ApiUrl != "" {
// _, _ = skdCron.AddFunc("0 30 */2 * * ?", func() {
// transcodejob.TranscodeVideoByWatchTimes()
// })
// _, _ = skdCron.AddFunc("0 */5 * * * ?", func() {
// transcodejob.CheckTranscodingResults()
// })
//}
skdCron.Start()
}
func Stop() {
log.Info("srv_datinggirl:updater Stop...")
defer log.Info("srv_datinggirl: updater Stop!!!")
skdCron.Stop()
}