Files
web_hgcg_server/app/skd/job/sitemap/generate.go
T
2026-10-27 16:44:55 +08:00

38 lines
915 B
Go

package sitemap
import (
"path/filepath"
"strings"
"sync"
"videoweb/app/service/configser"
"videoweb/pub/common/log"
)
var generateMu sync.Mutex
// GenerateSitemap 生成全站 sitemap 分片及索引文件。
func GenerateSitemap() {
generateMu.Lock()
defer generateMu.Unlock()
webAddr := strings.TrimSpace(configser.GetConfigInfo().WebAddr)
if webAddr == "" {
log.Warn("GenerateSitemap: WebAddr is empty, skip")
return
}
generator := NewSitemapGenerator(webAddr, OutputDir)
generator.IndexFile = filepath.Join(PageOutputDir, "sitemap.xml")
if err := generator.Generate(); err != nil {
log.Error("GenerateSitemap failed", log.E(err))
return
}
if err := writeRobotsTXT(webAddr); err != nil {
log.Error("GenerateSitemap write robots.txt failed", log.E(err))
return
}
log.Info("GenerateSitemap done",
log.Any("files", len(generator.SitemapFiles)),
log.Any("webAddr", webAddr))
}