36 lines
831 B
Go
36 lines
831 B
Go
package sitemap
|
|
|
|
import (
|
|
"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)
|
|
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))
|
|
}
|