package main
|
|
|
|
import (
|
|
"LAPP_GAAS_GFrame_BACKEND/conf"
|
|
dal "LAPP_GAAS_GFrame_BACKEND/dao/log"
|
|
omDal "LAPP_GAAS_GFrame_BACKEND/dao/om"
|
|
"LAPP_GAAS_GFrame_BACKEND/db"
|
|
"LAPP_GAAS_GFrame_BACKEND/grmi"
|
|
"LAPP_GAAS_GFrame_BACKEND/utils"
|
|
"fmt"
|
|
"github.com/robfig/cron"
|
|
"log"
|
|
"time"
|
|
)
|
|
|
|
func main() {
|
|
//加载配置
|
|
path := utils.EnsureDir("conf/config.yaml")
|
|
err := conf.ReadYamlConfig(path)
|
|
if err != nil {
|
|
log.Fatal("init config failed, error:", err)
|
|
}
|
|
err = Start()
|
|
if err != nil {
|
|
fmt.Println("start failed, error:", err)
|
|
}
|
|
}
|
|
|
|
|
|
func Start() error {
|
|
c := cron.New()
|
|
var err error
|
|
err = c.AddFunc("0 0 1 * * ?", ClearOldData)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
c.Start()
|
|
select {}
|
|
}
|
|
|
|
func ClearOldData() {
|
|
|
|
err := db.InitDb()
|
|
if err != nil {
|
|
fmt.Println("init db failed, error:", err)
|
|
return
|
|
}
|
|
engine := db.Eloquent.Master()
|
|
session := engine.NewSession()
|
|
if err = session.Begin(); err != nil {
|
|
fmt.Println("开始事务失败")
|
|
return
|
|
}
|
|
headDao := dal.NewArtDemandHeadDAO(session, 100, "cron")
|
|
lstDao := dal.NewArtDemandLstDAO(session, 100, "cron")
|
|
workOrderDao := omDal.NewWorkOrderDAO(session, 100, "cron")
|
|
endTime := time.Now().AddDate(0, 0, -30).Format(grmi.DatetimeOutFormat)
|
|
err = headDao.ClearOldData(endTime)
|
|
if err != nil {
|
|
fmt.Println("clear head data failed:", err)
|
|
_ = session.Rollback()
|
|
return
|
|
}
|
|
err = lstDao.ClearOldData(endTime)
|
|
if err != nil {
|
|
fmt.Println("clear list data failed:", err)
|
|
_ = session.Rollback()
|
|
return
|
|
}
|
|
err = workOrderDao.ClearOldData(endTime)
|
|
if err != nil {
|
|
fmt.Println("clear work order data failed:", err)
|
|
_ = session.Rollback()
|
|
return
|
|
}
|
|
fmt.Println("clear date success, endTime:", endTime)
|
|
}
|