From 370c5c4376bc51bc1cacbed0fdd77a9fd81242ab Mon Sep 17 00:00:00 2001 From: TruthHun Date: Mon, 30 Jul 2018 22:18:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AE=9A=E6=97=B6=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.go | 29 +++++++++++++++++++++++++---- models/Models.go | 2 +- models/SeoModel.go | 6 +++++- 3 files changed, 31 insertions(+), 6 deletions(-) diff --git a/main.go b/main.go index 182e1cc..80fd5d1 100644 --- a/main.go +++ b/main.go @@ -8,8 +8,16 @@ import ( "github.com/TruthHun/DocHub/models" _ "github.com/TruthHun/DocHub/routers" "github.com/astaxie/beego" + "github.com/astaxie/beego/toolbox" ) +func main() { + go execTask() + //定义错误和异常处理控制器 + beego.ErrorController(&HomeControllers.BaseController{}) + beego.Run() +} + //初始化函数 func init() { fmt.Println("") @@ -52,8 +60,21 @@ func init() { beego.AddFuncMap("GetDescByDid", models.ModelDocText.GetDescByDid) } -func main() { - //定义错误和异常处理控制器 - beego.ErrorController(&HomeControllers.BaseController{}) - beego.Run() +//定时器,定时更新sitemap和ElasticSearch全量索引 +func execTask() { + //每天凌晨两点执行sitemap更新 + updateSitemap := toolbox.NewTask("updateSitemap", "0 0 2 * * *", func() error { + models.ModelSeo.BuildSitemap() + return nil + }) + //每天凌晨3:00执行elasticsearch全文搜索全量更新 + updateIndex := toolbox.NewTask("updateIndex", "0 0 3 * * *", func() error { + //TODO: + return nil + }) + + toolbox.AddTask("updateSitemap", updateSitemap) + toolbox.AddTask("updateIndex", updateIndex) + toolbox.StartTask() + //defer toolbox.StopTask() } diff --git a/models/Models.go b/models/Models.go index af486d7..dcefa0e 100644 --- a/models/Models.go +++ b/models/Models.go @@ -111,7 +111,7 @@ var Fields = map[string]map[string]string{ } //初始化数据库注册 -func nit() { +func init() { //初始化数据库 RegisterDB() runmode := beego.AppConfig.String("runmode") diff --git a/models/SeoModel.go b/models/SeoModel.go index e42df69..cb0d8b6 100644 --- a/models/SeoModel.go +++ b/models/SeoModel.go @@ -8,6 +8,8 @@ import ( "strconv" + "fmt" + "github.com/TruthHun/DocHub/helper" "github.com/TruthHun/gotil/sitemap" ) @@ -66,7 +68,8 @@ func (this *Seo) GetByPage(page string, defaultTitle, defaultKeywords, defaultDe //} //生成站点地图 func (this *Seo) BuildSitemap() { - + //更新站点地图 + helper.Logger.Info(fmt.Sprintf("[%v]更新站点地图[start]", time.Now().Format("2006-01-02 15:04:05"))) var ( files []string fileNum int @@ -120,4 +123,5 @@ func (this *Seo) BuildSitemap() { if err := Sitemap.CreateSitemapIndex(si, "sitemap.xml"); err != nil { helper.Logger.Error("sitemap生成失败:" + err.Error()) } + helper.Logger.Info(fmt.Sprintf("[%v]更新站点地图[end]", time.Now().Format("2006-01-02 15:04:05"))) }