|
|
- 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)
- }
|