delete_log_cron_job.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package service
  2. import (
  3. "dy-admin/internal/pcmserver/bus/model"
  4. "dy-admin/internal/pcmserver/global"
  5. "dy-admin/pkg/log"
  6. "fmt"
  7. "go.uber.org/zap"
  8. "time"
  9. )
  10. type DeleteLogCronJob struct {
  11. }
  12. func (job *DeleteLogCronJob) Run() {
  13. var err error
  14. var execRes = "定时任务已执行,执行信息: "
  15. now := time.Now()
  16. defer func() {
  17. // 记录执行日志
  18. err = global.DB.Create(&model.CronLog{
  19. ExecTime: now,
  20. CronName: "delete_log",
  21. CronRes: execRes,
  22. }).Error
  23. if err != nil {
  24. log.Error("create cron log err", zap.Error(err))
  25. }
  26. }()
  27. deleteTime := now.AddDate(0, 0, -2)
  28. // 删除两天前的设备日志
  29. err = global.DB.Where("created_at < ?", deleteTime).Delete(&model.DeviceLog{}).Error
  30. if err != nil {
  31. execRes += fmt.Sprintf("删除设备日志失败,err:%s", err)
  32. }
  33. execRes += fmt.Sprintf("删除设备日志成功。")
  34. // 删除两天前的定时任务执行日志
  35. err = global.DB.Where("created_at < ?", deleteTime).Delete(&model.CronLog{}).Error
  36. if err != nil {
  37. execRes += fmt.Sprintf("删除定时任务日志失败,err:%s", err)
  38. }
  39. // 删除两天前连接日志
  40. err = global.DB.Where("created_at < ?", deleteTime).Delete(&model.ConnectLog{}).Error
  41. if err != nil {
  42. execRes += fmt.Sprintf("删除连接日志失败,err:%s", err)
  43. }
  44. execRes += fmt.Sprintf("删除设备定时任务成功。")
  45. }