shikeying
2022-10-11 2b1f542577dd8dfc54d3433dff3615796ceab0af
recommend-video/src/main/java/com/iplatform/recvideo/SimilarExecutor.java
@@ -4,6 +4,7 @@
import com.iplatform.recvideo.util.PythonInvokeUtils;
import com.iplatform.recvideo.util.TestUtils;
import com.iplatform.recvideo.util.VideoFileUtils;
import com.walker.infrastructure.utils.FileUtils;
import com.walker.infrastructure.utils.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -84,7 +85,14 @@
    public int execute() throws Exception{
        if(!this.pythonLoadVideoDone){
            logger.debug("当前 pythonLoadVideoDone = false, 需要查询数据库是否已加载视频");
            this.pythonLoadVideoDone = this.pythonLoadVideoDone(this.batchId, VideoFileUtils.combineBatchPath(videoDataFolder, batchId));
            String batchPath = VideoFileUtils.combineBatchPath(videoDataFolder, batchId);
            if(!FileUtils.isExist(batchPath)){
                // 文件夹不存在,或略该状态记录,2022-10-11
                this.ignoreTaskStatus(batchId);
                logger.warn("文件夹不存在,忽略该批次记录,自动更新为'已完成', batchPath = " + batchPath);
                return 1;
            }
            this.pythonLoadVideoDone = this.pythonLoadVideoDone(this.batchId, batchPath);
        }
        // 1: 如果视频还未加载,则先加载视频
@@ -114,9 +122,13 @@
            }
        }
        if(StringUtils.isEmptyList(this.videoFolderInfoList)){
            logger.warn("视频分析文件夹内容为空,无法继续查询相似度结果! videoFolderInfoList = null");
            return -1;
            logger.warn("视频分析文件夹内容为空,无法继续查询相似度结果!忽略该批次。 videoFolderInfoList = null");
//            return -1;
            // 文件夹不没有任何视频文件,或略该状态记录,2022-10-11
            this.ignoreTaskStatus(batchId);
            return 1;
        }
        for(VideoFolderInfo v : this.videoFolderInfoList){
            this.videoIdList.add(v.getVideoId());
        }
@@ -246,4 +258,11 @@
     * @param recVideoIdList 本批次处理原始视频id集合
     */
    protected abstract void writeRcVideoUser(String batchId, List<String> recVideoIdList);
    /**
     * 忽略该状态批次,由于文件夹不存在等原因,不带处理,不要在这里打伴。
     * @param batchId
     * @date 2022-10-11
     */
    protected abstract void ignoreTaskStatus(String batchId);
}