From a78b76b664830a1ac691396d5cb64166c6919ff1 Mon Sep 17 00:00:00 2001 From: shikeying <shikeying@163.com> Date: 星期五, 30 九月 2022 18:12:44 +0800 Subject: [PATCH] 视频相似度分析5 --- recommend-video/src/main/java/com/iplatform/recvideo/VideoLoader.java | 4 + recommend-video/src/main/java/com/iplatform/recvideo/scheduler/VideoLoadScheduler.java | 57 ++++++++++++++++++++++++++++ recommend-video/src/main/java/com/iplatform/recvideo/scheduler/VideoLoadTask.java | 25 ++++++++++++ recommend-video/src/test/java/com/iplatform/recvideo/VideoSimilarTest.java | 13 ++++++ recommend-video/src/main/java/com/iplatform/recvideo/support/DefaultVideoLoader.java | 10 ++++ 5 files changed, 106 insertions(+), 3 deletions(-) diff --git a/recommend-video/src/main/java/com/iplatform/recvideo/VideoLoader.java b/recommend-video/src/main/java/com/iplatform/recvideo/VideoLoader.java index 62289d1..bd2844f 100644 --- a/recommend-video/src/main/java/com/iplatform/recvideo/VideoLoader.java +++ b/recommend-video/src/main/java/com/iplatform/recvideo/VideoLoader.java @@ -10,8 +10,10 @@ protected final transient Logger logger = LoggerFactory.getLogger(this.getClass()); - public void startup(String videoDataFolder, String batchId, boolean testMode){ +// protected String videoDataFolder = null; + public void startup(boolean testMode){ +// this.videoDataFolder = videoDataFolder; } public void destroy(){ diff --git a/recommend-video/src/main/java/com/iplatform/recvideo/scheduler/VideoLoadScheduler.java b/recommend-video/src/main/java/com/iplatform/recvideo/scheduler/VideoLoadScheduler.java index 15886e7..2735f65 100644 --- a/recommend-video/src/main/java/com/iplatform/recvideo/scheduler/VideoLoadScheduler.java +++ b/recommend-video/src/main/java/com/iplatform/recvideo/scheduler/VideoLoadScheduler.java @@ -1,17 +1,74 @@ package com.iplatform.recvideo.scheduler; +import com.iplatform.core.BeanContextAware; +import com.iplatform.recvideo.VideoLoader; import com.iplatform.recvideo.VideoScheduler; +import com.iplatform.recvideo.service.VideoLoaderServiceImpl; +import com.iplatform.recvideo.support.DefaultVideoLoader; +import com.walker.connector.Address; +import com.walker.connector.support.DatabaseConnector; +import com.walker.connector.util.ConnectorUtils; import com.walker.store.AbstractStore; import com.walker.store.task.GatherTask; +/** + * 鐭棰戦噰闆�(鍔犺浇鎷疯礉)璋冨害浠诲姟瀹炵幇銆� + * @author 鏃跺厠鑻� + * @date 2022-09-30 + */ public class VideoLoadScheduler extends VideoScheduler { + + private VideoLoader videoLoader= null; + private int failedCount = 0; + + private Address srcAddress; // 浠庝笟鍔$郴缁熸暟鎹簱鍔犺浇瑙嗛闆嗗悎璁板綍 public VideoLoadScheduler(int id, String name){ super(id, name); + srcAddress = new Address(); + srcAddress.setUrl("127.0.0.1"); + srcAddress.setPort(3306); + srcAddress.setAuthentication("root"); + srcAddress.setCertification("123456"); } @Override protected GatherTask providerTask(AbstractStore store) { return null; } + + @Override + protected Object onProcess(Object[] inputParams) throws Exception { + if(this.videoLoader == null){ + DefaultVideoLoader defaultVideoLoader = new DefaultVideoLoader(); + defaultVideoLoader.setVideoLoaderService(BeanContextAware.getBeanByType(VideoLoaderServiceImpl.class)); + defaultVideoLoader.setDatabaseConnector(this.createMySqlConnector(this.srcAddress)); + defaultVideoLoader.startup(false); + this.videoLoader = defaultVideoLoader; + logger.debug("鍒涘缓'DefaultVideoLoader': " + defaultVideoLoader.getClass()); + } + + try{ + int result = this.videoLoader.execute(); + if(result == 1){ + logger.info("鎴愬姛鎵ц涓�娆$煭瑙嗛閲囬泦"); + return SUCCESS; + } + logger.debug("videoLoader.execute() = -1锛岀嚎绋嬪噯澶囦紤鐪�"); + return null; + }catch (Exception ex){ + logger.error("VideoLoader.execute()鎶ラ敊: " + ex.getMessage(), ex); + this.failedCount ++; + if(this.failedCount > 3){ + // 濡傛灉鎶ラ敊瓒呰繃澶氭锛岃繑鍥炵┖锛岃绾跨▼浼戠湢涓�涓� + this.failedCount = 0; + } + return null; + } + } + + private DatabaseConnector createMySqlConnector(Address address){ + DatabaseConnector connector = ConnectorUtils.createMySQLConnector(address); + return connector; + } } diff --git a/recommend-video/src/main/java/com/iplatform/recvideo/scheduler/VideoLoadTask.java b/recommend-video/src/main/java/com/iplatform/recvideo/scheduler/VideoLoadTask.java new file mode 100644 index 0000000..10744f6 --- /dev/null +++ b/recommend-video/src/main/java/com/iplatform/recvideo/scheduler/VideoLoadTask.java @@ -0,0 +1,25 @@ +package com.iplatform.recvideo.scheduler; + +import com.walker.connector.Address; +import com.walker.store.task.GenericGatherTask; + +import java.util.List; + +@Deprecated +public class VideoLoadTask extends GenericGatherTask { + + public VideoLoadTask(String name, Address address){ + super(name, address); + + } + + @Override + protected Object execute(String srcName, String createTableSQL, Object parameter, List<Object> data) { + return null; + } + + @Override + protected List<Object> transferResultData(List<Object> resultList) { + return resultList; + } +} diff --git a/recommend-video/src/main/java/com/iplatform/recvideo/support/DefaultVideoLoader.java b/recommend-video/src/main/java/com/iplatform/recvideo/support/DefaultVideoLoader.java index ad69420..7a3cd92 100644 --- a/recommend-video/src/main/java/com/iplatform/recvideo/support/DefaultVideoLoader.java +++ b/recommend-video/src/main/java/com/iplatform/recvideo/support/DefaultVideoLoader.java @@ -6,6 +6,7 @@ import com.iplatform.recvideo.VideoLoadInfo; import com.iplatform.recvideo.VideoLoader; import com.iplatform.recvideo.service.VideoLoaderServiceImpl; +import com.walker.connector.support.DatabaseConnector; import com.walker.infrastructure.utils.DateUtils; import com.walker.infrastructure.utils.NumberGenerator; @@ -15,6 +16,12 @@ public class DefaultVideoLoader extends VideoLoader { private VideoLoaderServiceImpl videoLoaderService; + + private DatabaseConnector databaseConnector = null; + + public void setDatabaseConnector(DatabaseConnector databaseConnector) { + this.databaseConnector = databaseConnector; + } public void setVideoLoaderService(VideoLoaderServiceImpl videoLoaderService) { this.videoLoaderService = videoLoaderService; @@ -27,11 +34,12 @@ @Override protected long acquireInitBatchId() { - return 0; + return 20210101; } @Override protected List<VideoLoadInfo> acquireLoadVideoFromDatabase(long nextBatchId) { + this.databaseConnector.queryForList("", new Object[]{nextBatchId}); return null; } diff --git a/recommend-video/src/test/java/com/iplatform/recvideo/VideoSimilarTest.java b/recommend-video/src/test/java/com/iplatform/recvideo/VideoSimilarTest.java index d1e3849..3c7e781 100644 --- a/recommend-video/src/test/java/com/iplatform/recvideo/VideoSimilarTest.java +++ b/recommend-video/src/test/java/com/iplatform/recvideo/VideoSimilarTest.java @@ -3,14 +3,25 @@ import com.iplatform.model.po.Rc_video_t1; import com.iplatform.recvideo.util.PythonInvokeUtils; import com.iplatform.recvideo.util.VideoFileUtils; +import com.walker.infrastructure.utils.ClassUtils; +import com.walker.scheduler.impl.TimedScheduler; import org.junit.Test; import org.springframework.web.client.RestTemplate; +import java.lang.reflect.Constructor; import java.util.List; public class VideoSimilarTest { - @Test +// @Test + public void testSchedulerClass() throws Exception{ + Class<?> schedulerClass = ClassUtils.forName("com.iplatform.recvideo.scheduler.VideoSearchScheduler", VideoSimilarTest.class.getClassLoader()); + Constructor<TimedScheduler> constructor = (Constructor<TimedScheduler>)schedulerClass.getConstructor(int.class, String.class); + TimedScheduler listeningScheduler = constructor.newInstance(100, "test_scheduler"); + + } + +// @Test public void testPythonSearch() throws Exception{ String url = "http://121.36.40.27:12345/ai/video/search_img"; RestTemplate restTemplate = new RestTemplate(); -- Gitblit v1.9.1