浏览代码

优化异常处理

Kevin 6 年之前
父节点
当前提交
13effb5880

+ 36 - 26
Gene_point_Service/.idea/workspace.xml

@@ -3,7 +3,6 @@
   <component name="ChangeListManager">
     <list default="true" id="83c812bd-fdcd-4344-b866-5ecaac02b490" name="Default Changelist" comment="">
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/dashoo.cn/api/business/converseService/converseService.go" beforeDir="false" afterPath="$PROJECT_DIR$/src/dashoo.cn/api/business/converseService/converseService.go" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/dashoo.cn/api/controllers/converse/converse.go" beforeDir="false" afterPath="$PROJECT_DIR$/src/dashoo.cn/api/controllers/converse/converse.go" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/dashoo.cn/api/main.go" beforeDir="false" afterPath="$PROJECT_DIR$/src/dashoo.cn/api/main.go" afterDir="false" />
     </list>
@@ -21,8 +20,8 @@
       <file pinned="false" current-in-tab="true">
         <entry file="file://$PROJECT_DIR$/src/dashoo.cn/api/controllers/converse/converse.go">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="-989">
-              <caret line="62" column="27" lean-forward="true" selection-start-line="62" selection-start-column="27" selection-end-line="62" selection-end-column="27" />
+            <state relative-caret-position="954">
+              <caret line="134" column="9" selection-start-line="134" selection-start-column="9" selection-end-line="134" selection-end-column="9" />
               <folding>
                 <element signature="e#18#192#0" expanded="true" />
               </folding>
@@ -30,11 +29,20 @@
           </provider>
         </entry>
       </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/dashoo.cn/api/business/converseService/converse.go">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="1283">
+              <caret line="97" column="19" lean-forward="true" selection-start-line="97" selection-start-column="19" selection-end-line="97" selection-end-column="19" />
+            </state>
+          </provider>
+        </entry>
+      </file>
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/src/dashoo.cn/api/business/converseService/converseService.go">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="-380">
-              <caret line="154" column="28" selection-start-line="154" selection-start-column="28" selection-end-line="154" selection-end-column="28" />
+            <state relative-caret-position="478">
+              <caret line="467" column="1" lean-forward="true" selection-start-line="467" selection-start-column="1" selection-end-line="467" selection-end-column="1" />
             </state>
           </provider>
         </entry>
@@ -42,8 +50,8 @@
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/src/dashoo.cn/api/main.go">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="195">
-              <caret line="131" column="21" lean-forward="true" selection-start-line="131" selection-start-column="21" selection-end-line="131" selection-end-column="21" />
+            <state relative-caret-position="425">
+              <caret line="131" column="22" lean-forward="true" selection-start-line="131" selection-start-column="22" selection-end-line="131" selection-end-column="22" />
               <folding>
                 <element signature="e#14#173#0" expanded="true" />
               </folding>
@@ -61,6 +69,7 @@
       <find>rack_id</find>
       <find>fmt</find>
       <find>println</find>
+      <find>DeleteEntityBytbl</find>
     </findStrings>
   </component>
   <component name="GOROOT" path="D:\Development\GO" />
@@ -87,9 +96,9 @@
         <option value="$PROJECT_DIR$/src/dashoo.cn/api/controllers/base.go" />
         <option value="$PROJECT_DIR$/src/dashoo.cn/api/routers/router.go" />
         <option value="$PROJECT_DIR$/src/dashoo.cn/api/business/converseService/converse.go" />
-        <option value="$PROJECT_DIR$/src/dashoo.cn/api/controllers/converse/converse.go" />
         <option value="$PROJECT_DIR$/src/dashoo.cn/api/business/converseService/converseService.go" />
         <option value="$PROJECT_DIR$/src/dashoo.cn/api/main.go" />
+        <option value="$PROJECT_DIR$/src/dashoo.cn/api/controllers/converse/converse.go" />
       </list>
     </option>
   </component>
@@ -236,8 +245,9 @@
   </component>
   <component name="ToolWindowManager">
     <frame x="1912" y="-8" width="2576" height="1056" extended-state="6" />
+    <editor active="true" />
     <layout>
-      <window_info content_ui="combo" id="Project" order="0" sideWeight="0.49766356" visible="true" weight="0.15831344" />
+      <window_info content_ui="combo" id="Project" order="0" sideWeight="0.49766356" visible="true" weight="0.16070008" />
       <window_info id="Structure" order="1" sideWeight="0.50233644" side_tool="true" weight="0.14701195" />
       <window_info id="Favorites" order="2" sideWeight="0.50233644" side_tool="true" weight="0.14701195" />
       <window_info anchor="bottom" id="Message" order="0" />
@@ -521,13 +531,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/dashoo.cn/api/business/converseService/converse.go">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="11">
-          <caret line="100" column="19" lean-forward="true" selection-start-line="100" selection-start-column="19" selection-end-line="100" selection-end-column="19" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://D:/Development/GO/src/io/ioutil/ioutil.go">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="257">
@@ -580,27 +583,34 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/dashoo.cn/api/main.go">
+    <entry file="file://$PROJECT_DIR$/src/dashoo.cn/api/business/converseService/converse.go">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="195">
-          <caret line="131" column="21" lean-forward="true" selection-start-line="131" selection-start-column="21" selection-end-line="131" selection-end-column="21" />
-          <folding>
-            <element signature="e#14#173#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="1283">
+          <caret line="97" column="19" lean-forward="true" selection-start-line="97" selection-start-column="19" selection-end-line="97" selection-end-column="19" />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/src/dashoo.cn/api/business/converseService/converseService.go">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-380">
-          <caret line="154" column="28" selection-start-line="154" selection-start-column="28" selection-end-line="154" selection-end-column="28" />
+        <state relative-caret-position="478">
+          <caret line="467" column="1" lean-forward="true" selection-start-line="467" selection-start-column="1" selection-end-line="467" selection-end-column="1" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/dashoo.cn/api/main.go">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="425">
+          <caret line="131" column="22" lean-forward="true" selection-start-line="131" selection-start-column="22" selection-end-line="131" selection-end-column="22" />
+          <folding>
+            <element signature="e#14#173#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/src/dashoo.cn/api/controllers/converse/converse.go">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-989">
-          <caret line="62" column="27" lean-forward="true" selection-start-line="62" selection-start-column="27" selection-end-line="62" selection-end-column="27" />
+        <state relative-caret-position="954">
+          <caret line="134" column="9" selection-start-line="134" selection-start-column="9" selection-end-line="134" selection-end-column="9" />
           <folding>
             <element signature="e#18#192#0" expanded="true" />
           </folding>

+ 49 - 16
Gene_point_Service/src/dashoo.cn/api/controllers/converse/converse.go

@@ -23,6 +23,8 @@ const FAILED = 4
 const SUCCESS = 5
 const RUNNING = 6
 const REJECT = 7
+const TABLE_TAST = "sample_storage_task"
+const TABLE_SAMPLE = "samplesapply"
 
 
 func (this *ConverseController) SearchDatabase() map[string]*converseService.RequestEntity{
@@ -82,6 +84,7 @@ func (this *ConverseController) StatusModify(statusCode int , task_id string) er
 	if err != nil {
 		return err
 	}
+	//修改出入库任务状态
 	err = svc.SampleApplyStatusModify(statusCode,task_id)
 	if err != nil {
 		return err
@@ -112,21 +115,28 @@ func (this *ConverseController) HandleMessage(n int, message []byte){
 			log.Println(">>>>>>>>>>修改接受状态>>>>>>>>>>")
 			err = this.StatusModify(ACCEPT,taskId)
 		}
-	}else if result == 300 && taskType == "running"{
-		log.Println(">>>>>>>>>>修改执行中状态>>>>>>>>>>")
-		err = this.StatusModify(RUNNING,taskId)
-	}else if  result == 300 && taskType == "reject"{
-		log.Println(">>>>>>>>>>修改驳回状态>>>>>>>>>>")
-		err = this.StatusModify(REJECT,taskId)
-	}else if  result != 200 || (isEnd && res.Data.Abnormal_data != nil) {
+	}else if result == 300{
+		switch taskType {
+			case "running":
+				log.Println(">>>>>>>>>>修改执行中状态>>>>>>>>>>")
+				err = this.StatusModify(RUNNING,taskId)
+				break
+			case "reject":
+				log.Println(">>>>>>>>>>修改驳回状态>>>>>>>>>>")
+				//保存异常信息
+				this.SaveExcepMsg(res,taskId)
+				err = this.StatusModify(REJECT,taskId)
+				break
+			case "abnormal_end":
+				log.Println(">>>>>>>>>>修改驳回状态>>>>>>>>>>")
+				//保存异常信息
+				this.SaveExcepMsg(res,taskId)
+				err = this.StatusModify(REJECT,taskId)
+		}
+	}else if result != 200 || (isEnd && res.Data.Abnormal_data != nil) {
 		log.Println("----------修改失败状态----------")
-		//处理异常信息
 		//保存异常信息
-		causeByte,_ := json.Marshal(res.Data.Causes)
-		excepMsg := string(causeByte)
-		if excepMsg != "" {
-			this.SaveExcepMsg(excepMsg,taskId)
-		}
+		this.SaveExcepMsg(res,taskId)
 		//修改状态为失败
 		err = this.StatusModify(FAILED,taskId)
 	}
@@ -136,10 +146,32 @@ func (this *ConverseController) HandleMessage(n int, message []byte){
 }
 
 //保存异常信息
-func (this *ConverseController) SaveExcepMsg(msg,taskId string) {
+func (this *ConverseController) SaveExcepMsg(res converseService.ResponseEntity,taskId string) {
+	causeByte,_ := json.Marshal(res.Data.Causes)
+	causeMsg := string(causeByte)
+
+	abnormalByte,_ := json.Marshal(res.Data.Abnormal_data)
+	abnormalMsg := string(abnormalByte)
+
+	var exceptMsg string
+	if causeMsg != "" && abnormalMsg == ""{
+		exceptMsg = causeMsg
+	}else if causeMsg == "" && abnormalMsg != ""{
+		exceptMsg = abnormalMsg
+	}else if causeMsg != "" && abnormalMsg != "" {
+		exceptMsg = causeMsg +"\r\n\r\n" + abnormalMsg
+	}
+
+
 	svc := converseService.GetConverseService(utils.DBE)
-	svc.SaveExcepMsg("sample_storage_task",msg,taskId)
-	svc.SaveExcepMsg("samplesapply",msg,taskId)
+	if exceptMsg != "" {
+		svc.SaveExcepMsg(TABLE_TAST, exceptMsg,taskId)
+		svc.SaveExcepMsg(TABLE_SAMPLE, exceptMsg,taskId)
+	} else {
+		//任务再次执行成功时,删除已有的异常信息
+		svc.SaveExcepMsg(TABLE_TAST," ",taskId)
+		svc.SaveExcepMsg(TABLE_SAMPLE," ",taskId)
+	}
 }
 
 
@@ -158,3 +190,4 @@ func (this *ConverseController) DeleteAccomplishedTask() error{
 	return nil
 }
 
+

+ 1 - 1
Gene_point_Service/src/dashoo.cn/api/main.go

@@ -137,7 +137,7 @@ func ListenToReadMsg(conn *websocket.Conn) {
 func ListenToSendMsg(conn *websocket.Conn){
 	log.Println("发送消息>>>>>>>>>>>>>>>>>>>")
 	cron := cron.New()
-	tick := "*/10 * * * * ?"
+	tick := "*/5 * * * * ?"
 	err = cron.AddFunc(tick, func() {
 		//如果已连接则发送任务
 		reqMap := ctrl.SearchDatabase()