protected override DoWorkResult DoWork(Model_NodeHistoryData pendingValue) { try { Model_AiInfo aiInfo = CC_HistDataServer.CheckPointIdIsExist(pendingValue.PointId); if (aiInfo == null) { throw new Exception("指定的PointId不存在!"); } else { bool result = CC_HistDataServer.InsertPointData(pendingValue, aiInfo.StorageId); if (result == false) { throw new Exception("插入数据失败!"); } } return(DoWorkResult.ContinueThread); } catch (Exception ex) { throw ex; //return DoWorkResult.AbortCurrentThread;//有异常,可以终止当前线程.当然.也可以继续, //return DoWorkResult.AbortAllThread; //特殊情况下 ,有异常终止所有的线程... } //return base.DoWork(pendingValue); }
/// <summary> /// 上报仓库历史数据 /// </summary> /// <param name="refHDList">仓库历史数据集合</param> /// <returns></returns> public ResultModel <bool> UploadRefHistDatas(List <Model_NodeHistoryData> refHDList) { ResultModel <bool> result = new ResultModel <bool>(); try { result.Data = CC_HistDataServer.InsertDataToTempTable(refHDList); } catch (Exception ex) { HandleExcepthin(result, ex); } return(result); }
private static void _upload_timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { _upload_timer.Stop(); try { List <WebService.Model.Model_NodeHistoryData> dataList = CC_HistDataServer.GetWaitHandleDataList(_upload_count); if (dataList.Count > 0) { _upload_lastPrecent = 1; System.Console.WriteLine(""); System.Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":开始处理数据,本次共查到" + dataList.Count + "条需要处理的数据"); DataHandleHelper dataHelp = new DataHandleHelper(dataList); dataHelp.ThreadCount = _upload_threadCount; dataHelp.OneCompleted += DataHelp_OneCompleted; dataHelp.AllCompleted += DataHelp_AllCompleted; dataHelp.Start(); } else { _upload_lastPrecent = 101; System.Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":没有查询到任何待处理的数据"); } } catch (Exception ex) { System.Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":启动数据处理器失败:" + ex.Message); } finally { while (_upload_lastPrecent != 101) { Thread.Sleep(500); } _upload_lastPrecent = -1; _upload_timer.Interval = _upload_space * 1000; _upload_timer.Start(); } }