GAAS GFrame项目web后台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

77 lines
1.7 KiB

  1. package main
  2. import (
  3. "LAPP_GAAS_GFrame_BACKEND/conf"
  4. dal "LAPP_GAAS_GFrame_BACKEND/dao/log"
  5. omDal "LAPP_GAAS_GFrame_BACKEND/dao/om"
  6. "LAPP_GAAS_GFrame_BACKEND/db"
  7. "LAPP_GAAS_GFrame_BACKEND/grmi"
  8. "LAPP_GAAS_GFrame_BACKEND/utils"
  9. "fmt"
  10. "github.com/robfig/cron"
  11. "log"
  12. "time"
  13. )
  14. func main() {
  15. //加载配置
  16. path := utils.EnsureDir("conf/config.yaml")
  17. err := conf.ReadYamlConfig(path)
  18. if err != nil {
  19. log.Fatal("init config failed, error:", err)
  20. }
  21. err = Start()
  22. if err != nil {
  23. fmt.Println("start failed, error:", err)
  24. }
  25. }
  26. func Start() error {
  27. c := cron.New()
  28. var err error
  29. err = c.AddFunc("0 0 1 * * ?", ClearOldData)
  30. if err != nil {
  31. return err
  32. }
  33. c.Start()
  34. select {}
  35. }
  36. func ClearOldData() {
  37. err := db.InitDb()
  38. if err != nil {
  39. fmt.Println("init db failed, error:", err)
  40. return
  41. }
  42. engine := db.Eloquent.Master()
  43. session := engine.NewSession()
  44. if err = session.Begin(); err != nil {
  45. fmt.Println("开始事务失败")
  46. return
  47. }
  48. headDao := dal.NewArtDemandHeadDAO(session, 100, "cron")
  49. lstDao := dal.NewArtDemandLstDAO(session, 100, "cron")
  50. workOrderDao := omDal.NewWorkOrderDAO(session, 100, "cron")
  51. endTime := time.Now().AddDate(0, 0, -30).Format(grmi.DatetimeOutFormat)
  52. err = headDao.ClearOldData(endTime)
  53. if err != nil {
  54. fmt.Println("clear head data failed:", err)
  55. _ = session.Rollback()
  56. return
  57. }
  58. err = lstDao.ClearOldData(endTime)
  59. if err != nil {
  60. fmt.Println("clear list data failed:", err)
  61. _ = session.Rollback()
  62. return
  63. }
  64. err = workOrderDao.ClearOldData(endTime)
  65. if err != nil {
  66. fmt.Println("clear work order data failed:", err)
  67. _ = session.Rollback()
  68. return
  69. }
  70. fmt.Println("clear date success, endTime:", endTime)
  71. }