领胜LDS 键盘AOI检测项目
wells.liu
2020-07-06 01d2cf934b9c976ce24f28b83f8b6aa68dac921c
src/Bro.Process/ProcessControl.cs
@@ -32,8 +32,8 @@
            #region AutoFac注册
            GlobalVar.Builder.RegisterInstance(this).As<IProcess>().ExternallyOwned();
            GlobalVar.Builder.RegisterInstance(IConfig).As<IProcessConfig>().ExternallyOwned();
            GlobalVar.Builder.RegisterInstance(DeviceCollection).ExternallyOwned();
            GlobalVar.Builder.RegisterInstance(ProcessMethodCollection).ExternallyOwned();
            GlobalVar.Builder.RegisterInstance(DeviceCollection);
            GlobalVar.Builder.RegisterInstance(ProcessMethodCollection);
            //if (isBuild)
            //{
@@ -520,6 +520,9 @@
                return;
            }
            if (!ProcessInvokePreCheck())
                return;
            IOperationConfig config = monitorSet.OpConfig;
            object res = null;
            int reTryTimes = config.ReTryTimes;
@@ -578,6 +581,8 @@
                        }
                        LogAsync(DateTime.Now, methodCode + "异常信息", ex.GetExceptionMessage());
                        ExceptionRaisedInMonitor(ex);
                    }
                }
@@ -600,6 +605,23 @@
            sw.Stop();
            LogAsync(DateTime.Now, $"{device.Name}调用{methodCode}完成,耗时{sw.ElapsedMilliseconds}ms", "");
            TimeRecordCSV(DateTime.Now, device.Name, $"{methodCode}调用完成", (int)sw.ElapsedMilliseconds);
        }
        /// <summary>
        /// 流程执行的预检查
        /// </summary>
        /// <returns></returns>
        public virtual bool ProcessInvokePreCheck()
        {
            return true;
        }
        /// <summary>
        /// 监听流程中异常抛出 在具体业务中具体处理
        /// </summary>
        /// <param name="ex">监听流程中异常对象</param>
        public virtual void ExceptionRaisedInMonitor(Exception ex)
        {
        }
        #endregion
@@ -698,6 +720,11 @@
            OnAlarmUpdate?.BeginInvoke(alarmMsg, null, null);
        }
        public virtual void RaisedAlarm(string alarmMsg)
        {
            OnAlarmUpdate?.Invoke(alarmMsg);
        }
        #endregion
        #region ILogger