task.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package services
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "hongze/hongze_api/cache"
  6. "hongze/hongze_api/models"
  7. "hongze/hongze_api/utils"
  8. )
  9. func Task() {
  10. fmt.Println("start")
  11. //InitSetUnionId()
  12. //FixUnionId()
  13. fmt.Println("end")
  14. //go AutoUpdateUserView()
  15. }
  16. // AutoUpdateUserView 自动添加阅读记录
  17. func AutoUpdateUserView() {
  18. defer func() {
  19. if err := recover(); err != nil {
  20. fmt.Println("[AutoUpdateUserView]", err)
  21. }
  22. }()
  23. for {
  24. utils.Rc.Brpop(utils.CACHE_KEY_USER_VIEW, func(b []byte) {
  25. var userViewRedisData cache.UserViewRedisData
  26. if err := json.Unmarshal(b, &userViewRedisData); err != nil {
  27. go utils.SendEmail(utils.APPNAME+" "+utils.RunMode+" 失败提醒", fmt.Sprint("AutoUpdateUserView ERR:", err, ";response data:", string(b)), utils.EmailSendToUsers)
  28. //}
  29. //if _, err := models.AddLogs(&log); err != nil {
  30. // fmt.Println("AddLogs:", err.Error(), log)
  31. } else {
  32. err = models.UpdateCompanyProductViewData(userViewRedisData.CompanyId, userViewRedisData.ProductId, userViewRedisData.ViewTime)
  33. if err != nil {
  34. go utils.SendEmail(utils.APPNAME+" "+utils.RunMode+" 失败提醒", fmt.Sprint("AutoUpdateUserView Update CompanyProduct ERR:", err, ";response data:", string(b)), utils.EmailSendToUsers)
  35. }
  36. }
  37. })
  38. }
  39. }