123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- package com.fdkankan.scene.schedule;
- import com.alibaba.fastjson.JSON;
- import com.fdkankan.redis.constant.RedisKey;
- import com.fdkankan.redis.util.RedisLockUtil;
- import com.fdkankan.redis.util.RedisUtil;
- import com.fdkankan.scene.entity.DownloadTourVideo;
- import com.fdkankan.scene.service.IDownloadTourVideoService;
- import com.fdkankan.scene.service.ISceneAsynOperLogService;
- import com.fdkankan.scene.service.ISceneDownLoadService;
- import lombok.extern.log4j.Log4j2;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.scheduling.annotation.Scheduled;
- import org.springframework.stereotype.Component;
- import java.nio.charset.StandardCharsets;
- @Log4j2
- @Component
- public class ScheduleJob {
- @Autowired
- private ISceneAsynOperLogService sceneAsynOperLogService;
- @Autowired
- RedisUtil redisUtil;
- @Autowired
- ISceneDownLoadService sceneDownLoadService;
- @Autowired
- private RedisLockUtil redisLockUtil;
- @Autowired
- private IDownloadTourVideoService downloadTourVideoService;
- /**
- * 每天凌晨一点执行
- */
- @Scheduled(cron="0 0 1 * * ?")
- public void cleanDownloadPanorama() {
- log.info("定时清除全景图压缩包开始");
- sceneAsynOperLogService.cleanDownloadPanorama();
- log.info("定时清除全景图压缩包完毕");
- }
- @Scheduled(cron = "0/5 * * * * ? ")
- public void job4SceneDownload() throws Exception {
- sceneDownLoadService.process();
- }
- @Scheduled(cron = "0/5 * * * * ? ")
- public void job4SceneV3Download() throws Exception {
- sceneDownLoadService.processV3();
- }
- @Scheduled(cron = "0/2 * * * * ? ")
- public void transferTourVideo() throws Exception {
- String lockKey = "lock:transfer:tour:video";
- boolean lock = redisLockUtil.lock("lock:transfer:tour:video", RedisKey.EXPIRE_TIME_10_MINUTE);
- if(!lock){
- return;
- }
- String task = (String) redisUtil.lGetIndex("transfer:tour:video", 0L);
- try {
- log.info("开始导览视频转换,content:{}", task);
- DownloadTourVideo downloadTourVideo = JSON.parseObject(task, DownloadTourVideo.class);
- downloadTourVideoService.transferTourVideo(downloadTourVideo);
- //视频转换完毕后才出队,防止服务重启,可以重新开始任务
- redisUtil.lLeftPop("transfer:tour:video");
- log.info("结束导览视频,content:{}", task);
- }catch (Exception e){
- log.error("导览视频转换失败,转换任务:{}", task, e);
- }finally {
- redisLockUtil.unlockLua(lockKey);
- }
- }
- // /**
- // * 删除场景原始资源
- // * 每天凌晨执行
- // */
- // @Scheduled(cron="0 0 1 * * ?")
- // public void cleanOssHomeV3() {
- // log.info("删除v3场景原始资源开始");
- // String lockKey = RedisLockKey.LOCK_CLEAN_SCENE_ORIG_V3;
- // try {
- // boolean lock = redisLockUtil.lock(lockKey, RedisKey.CAMERA_EXPIRE_7_TIME);
- // if(!lock){
- // return;
- // }
- // sceneCleanOrigService.cleanOrigV3();
- // }finally {
- // redisLockUtil.unlockLua(lockKey);
- // }
- // log.info("删除v3场景原始资源结束");
- // }
- //
- // /**
- // * 删除场景原始资源
- // * 每天凌晨执行
- // */
- // @Scheduled(cron="0 0 1 * * ?")
- // public void cleanOssHomeV4() {
- // log.info("删除v4场景原始资源开始");
- // String lockKey = RedisLockKey.LOCK_CLEAN_SCENE_ORIG_V4;
- // try {
- // boolean lock = redisLockUtil.lock(lockKey, RedisKey.CAMERA_EXPIRE_7_TIME);
- // if(!lock){
- // return;
- // }
- // sceneCleanOrigService.cleanOrigV4();
- // }finally {
- // redisLockUtil.unlockLua(lockKey);
- // }
- // log.info("删除v4场景原始资源结束");
- // }
- }
|