From 37ad41fcac6e1e465db4f9bca397f1e26baa66ab Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期二, 19 十一月 2024 10:28:01 +0800 Subject: [PATCH] 修改设备升级任务实现算法,使其运行更安全 --- pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java | 23 ++++++++++++++++++----- pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java | 12 +++++++----- 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java index 540e811..acfc12e 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java @@ -53,11 +53,24 @@ if(this.task != null && !this.task.taskIsOver){ throw new Exception("褰撳墠瀛樺湪鍗囩骇浠诲姟锛岃绛夊緟褰撳墠浠诲姟鎵ц瀹屾垨寮哄埗缁撴潫褰撳墠浠诲姟"); }else { - this.task.forceOver(); - this.task = new UpgradeTask(); - this.task.initOption(this.failTryTimes, this.ugMaxRtuSameTime); - this.task.setTask(vo); - this.start(this); + Exception ex = null ; + try{ + if(this.task != null){ + this.task.forceOver(); + } + this.task = new UpgradeTask(); + this.task.initOption(this.failTryTimes, this.ugMaxRtuSameTime); + this.task.setTask(vo); + }catch (Exception e){ + ex = e ; + }finally { + if(ex != null){ + this.task = null ; + throw ex ; + }else{ + this.start(this); + } + } } } diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java index 5ac27f0..77e5baf 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java @@ -175,11 +175,13 @@ * 寮哄埗缁撴潫鍗囩骇浠诲姟 */ public void forceOver(){ - this.taskIsOver = true ;//寮哄埗璁剧疆浠诲姟瀹屾垚 - this.taskOverType = TaskOverType_Force ;//浠诲姟瀹屾垚鏂瑰紡锛堣嚜鐒讹紝寮哄埗锛� - this.taskOverDt = DateTime.yyyy_MM_dd_HH_mm_ss() ;//浠诲姟瀹屾垚鏃堕棿(yyyy-mm-dd HH:MM:SS) - //this.taskVo.rtuAddrList.clear(); - //this.upgradeState.clear(); + if(!this.taskIsOver){ + this.taskIsOver = true ;//寮哄埗璁剧疆浠诲姟瀹屾垚 + this.taskOverType = TaskOverType_Force ;//浠诲姟瀹屾垚鏂瑰紡锛堣嚜鐒讹紝寮哄埗锛� + this.taskOverDt = DateTime.yyyy_MM_dd_HH_mm_ss() ;//浠诲姟瀹屾垚鏃堕棿(yyyy-mm-dd HH:MM:SS) + //this.taskVo.rtuAddrList.clear(); + //this.upgradeState.clear(); + } } /** -- Gitblit v1.8.0