diff --git a/src/main/java/com/lion/lionwebsite/Service/RemoteService.java b/src/main/java/com/lion/lionwebsite/Service/RemoteService.java index 5748dbb..c22b86b 100644 --- a/src/main/java/com/lion/lionwebsite/Service/RemoteService.java +++ b/src/main/java/com/lion/lionwebsite/Service/RemoteService.java @@ -87,6 +87,8 @@ public class RemoteService { if(pushService != null) pushService.storageNodeOnline(); + //子节点上线时,发送未完成的任务 + resetUndone(); channel = channelFuture.channel(); channel.writeAndFlush(new IdentityMessage("lionwebsite")); return true; @@ -101,6 +103,18 @@ public class RemoteService { return channelFuture.channel() == null || !channelFuture.channel().isActive(); } + public void resetUndone(){ + if (channelFuture.channel() == null || !channelFuture.channel().isActive()) + return; + + Gallery[] galleries = galleryMapper.selectUnDoneGalleries(); + if(galleries != null && galleries.length != 0) { + log.info("发送未下载完成图片至节点,{}本", galleries.length); + for (Gallery gallery : galleries) + addGalleryToQueue(gallery); + } + } + public byte addGalleryToQueue(Gallery gallery){ GalleryTask galleryTask = new GalleryTask(); galleryTask.setGid(gallery.getGid());