From ff7cab72419729ce2c5adc46350ef45d89a5d1e5 Mon Sep 17 00:00:00 2001 From: patrick.xu <patrick.xu@broconcentric.com> Date: 星期六, 24 七月 2021 10:31:41 +0800 Subject: [PATCH] MES动作添加异常捕捉和重试机制 --- src/Bro.M071.Process/M071Process_MES.cs | 42 ++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 40 insertions(+), 2 deletions(-) diff --git a/src/Bro.M071.Process/M071Process_MES.cs b/src/Bro.M071.Process/M071Process_MES.cs index 43ff973..28e399e 100644 --- a/src/Bro.M071.Process/M071Process_MES.cs +++ b/src/Bro.M071.Process/M071Process_MES.cs @@ -7,6 +7,7 @@ using System.Linq; using System.Reflection; using System.Text; +using System.Threading; using System.Threading.Tasks; namespace Bro.M071.Process @@ -151,7 +152,25 @@ LogAsync(DateTime.Now, $"MES鍏ユ枡妫�娴�", JsonConvert.SerializeObject(paras)); } - var result = IncomingCheckMethod?.Invoke(IncomingCheckObj, paras).ToString(); + string result = "-3"; + + int repeatTime = 3; + + do + { + try + { + result = IncomingCheckMethod?.Invoke(IncomingCheckObj, paras).ToString(); + } + catch (Exception ex) + { + LogAsync(DateTime.Now, $"{barcode}浜у搧鏉$爜妫�娴嬪紓甯�", ex.GetExceptionMessage()); + repeatTime--; + + Thread.Sleep(100); + result = "-3"; + } + } while (repeatTime > 0); var mesReturn = (MESIncomingCheckReturn)int.Parse(result); sw.Stop(); LogAsync(DateTime.Now, $"{barcode}浜у搧鏉$爜妫�娴嬶紝{result}|{mesReturn.ToString()}", $"鑰楁椂锛歿sw.ElapsedMilliseconds}ms"); @@ -210,7 +229,26 @@ LogAsync(DateTime.Now, $"{pMeasure.Barcode}浜у搧妫�娴嬫暟鎹笂浼�", JsonConvert.SerializeObject(paras)); } - var result = DataUploadMethod?.Invoke(DataUploadObj, paras).ToString(); + string result = "-3"; + + int repeatTime = 3; + do + { + try + { + result = DataUploadMethod?.Invoke(DataUploadObj, paras).ToString(); + repeatTime = -1; + } + catch (Exception ex) + { + LogAsync(DateTime.Now, $"{barcode}浜у搧妫�娴嬫暟鎹笂浼犲紓甯�", ex.GetExceptionMessage()); + repeatTime--; + + Thread.Sleep(100); + result = "-3"; + } + } while (repeatTime > 0); + var mesReturn = (MESUploadReturn)int.Parse(result); sw.Stop(); LogAsync(DateTime.Now, $"{barcode}浜у搧妫�娴嬫暟鎹笂浼狅紝{result}|{mesReturn.ToString()}", $"鑰楁椂锛歿sw.ElapsedMilliseconds}ms"); -- Gitblit v1.8.0