删除任务时清理节点下载队列

This commit is contained in:
root 2026-07-11 13:31:14 +08:00
parent 6447a74e0c
commit 3ab82509a0

View File

@ -171,7 +171,16 @@ public class storageNode {
}
case AbstractMessage.DELETE_GALLERY_MESSAGE -> {
DeleteGalleryMessage deleteGalleryMessage = (DeleteGalleryMessage) abstractMessage;
byte result = DeleteService.deleteAll(storagePath + deleteGalleryMessage.getGalleryName());
String galleryName = deleteGalleryMessage.getGalleryName();
lock.lock();
try {
// 删除任务时也要从待下载队列移除避免继续向主站上报已经删除的任务状态
storageNode.this.queue.entrySet().removeIf(entry -> galleryName.equals(entry.getValue().getName()));
queue.entrySet().removeIf(entry -> galleryName.equals(entry.getValue().getName()));
} finally {
lock.unlock();
}
byte result = DeleteService.deleteAll(storagePath + galleryName);
ResponseMessage responseMessage = new ResponseMessage(deleteGalleryMessage.messageId, result);
ctx.writeAndFlush(responseMessage);
}