ScheduleJob.java 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. package com.fdkankan.scene.schedule;
  2. import cn.hutool.core.util.StrUtil;
  3. import com.alibaba.fastjson.JSON;
  4. import com.fdkankan.redis.constant.RedisKey;
  5. import com.fdkankan.redis.util.RedisLockUtil;
  6. import com.fdkankan.redis.util.RedisUtil;
  7. import com.fdkankan.scene.entity.DownloadTourVideo;
  8. import com.fdkankan.scene.service.IDownloadTourVideoService;
  9. import com.fdkankan.scene.service.ISceneAsynOperLogService;
  10. import com.fdkankan.scene.service.ISceneDownLoadService;
  11. import lombok.extern.log4j.Log4j2;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.scheduling.annotation.Scheduled;
  14. import org.springframework.stereotype.Component;
  15. import java.nio.charset.StandardCharsets;
  16. @Log4j2
  17. @Component
  18. public class ScheduleJob {
  19. @Autowired
  20. private ISceneAsynOperLogService sceneAsynOperLogService;
  21. @Autowired
  22. RedisUtil redisUtil;
  23. @Autowired
  24. ISceneDownLoadService sceneDownLoadService;
  25. @Autowired
  26. private RedisLockUtil redisLockUtil;
  27. @Autowired
  28. private IDownloadTourVideoService downloadTourVideoService;
  29. /**
  30. * 每天凌晨一点执行
  31. */
  32. @Scheduled(cron="0 0 1 * * ?")
  33. public void cleanDownloadPanorama() {
  34. log.info("定时清除全景图压缩包开始");
  35. sceneAsynOperLogService.cleanDownloadPanorama();
  36. log.info("定时清除全景图压缩包完毕");
  37. }
  38. @Scheduled(cron = "0/5 * * * * ? ")
  39. public void job4SceneDownload() throws Exception {
  40. sceneDownLoadService.process();
  41. }
  42. @Scheduled(cron = "0/5 * * * * ? ")
  43. public void job4SceneV3Download() throws Exception {
  44. sceneDownLoadService.processV3();
  45. }
  46. @Scheduled(cron = "0/2 * * * * ? ")
  47. public void transferTourVideo() throws Exception {
  48. String lockKey = "lock:transfer:tour:video";
  49. boolean lock = redisLockUtil.lock("lock:transfer:tour:video", RedisKey.EXPIRE_TIME_10_MINUTE);
  50. if(!lock){
  51. return;
  52. }
  53. String task = null;
  54. try {
  55. if(redisUtil.lGetSize("transfer:tour:video") < 1){
  56. return;
  57. }
  58. task = (String) redisUtil.lGetIndex("transfer:tour:video", 0L);
  59. log.info("开始导览视频转换,content:{}", task);
  60. DownloadTourVideo downloadTourVideo = JSON.parseObject(task, DownloadTourVideo.class);
  61. downloadTourVideoService.transferTourVideo(downloadTourVideo);
  62. //视频转换完毕后才出队,防止服务重启,可以重新开始任务
  63. redisUtil.lLeftPop("transfer:tour:video");
  64. log.info("结束导览视频,content:{}", task);
  65. }catch (Exception e){
  66. log.error("导览视频转换失败,转换任务:{}", task, e);
  67. }finally {
  68. redisLockUtil.unlockLua(lockKey);
  69. }
  70. }
  71. // /**
  72. // * 删除场景原始资源
  73. // * 每天凌晨执行
  74. // */
  75. // @Scheduled(cron="0 0 1 * * ?")
  76. // public void cleanOssHomeV3() {
  77. // log.info("删除v3场景原始资源开始");
  78. // String lockKey = RedisLockKey.LOCK_CLEAN_SCENE_ORIG_V3;
  79. // try {
  80. // boolean lock = redisLockUtil.lock(lockKey, RedisKey.CAMERA_EXPIRE_7_TIME);
  81. // if(!lock){
  82. // return;
  83. // }
  84. // sceneCleanOrigService.cleanOrigV3();
  85. // }finally {
  86. // redisLockUtil.unlockLua(lockKey);
  87. // }
  88. // log.info("删除v3场景原始资源结束");
  89. // }
  90. //
  91. // /**
  92. // * 删除场景原始资源
  93. // * 每天凌晨执行
  94. // */
  95. // @Scheduled(cron="0 0 1 * * ?")
  96. // public void cleanOssHomeV4() {
  97. // log.info("删除v4场景原始资源开始");
  98. // String lockKey = RedisLockKey.LOCK_CLEAN_SCENE_ORIG_V4;
  99. // try {
  100. // boolean lock = redisLockUtil.lock(lockKey, RedisKey.CAMERA_EXPIRE_7_TIME);
  101. // if(!lock){
  102. // return;
  103. // }
  104. // sceneCleanOrigService.cleanOrigV4();
  105. // }finally {
  106. // redisLockUtil.unlockLua(lockKey);
  107. // }
  108. // log.info("删除v4场景原始资源结束");
  109. // }
  110. }