protected override ExecuteResult <int> DoCommit(int retry = 0) { if (Committed) { return(ExecuteResult <int> .CreateFaile(0, "已提交")); } try { var result = this.Context.SaveChanges(); this.Committed = true; return(ExecuteResult <int> .CreateSuccess(result, "提交成功")); } catch (Exception ex) { YmatouLoggingService.Warning("执行失败 {0},重试 {1} 次", ex.ToString(), retry); //重试 //return RetryUtility.RetryAction2(() => // { // var result = this.Context.SaveChanges(); // this.Committed = true; // return Tuple.Create<ExecuteResult<int>, bool>(new ExecuteResult<int>(true, null, result), result > 0); // }, retry, 3000).Item1; //RetryUtility.RetryAction2(() => System.Tuple.Create<ExecuteResult<int>, bool>(new ExecuteResult<int>(true, null, 0), true), 1000); return(new ExecuteResult <int>(true, null, 0)); } }
public void Start() { if (init || PQStatus == Status.RunIng) { YmatouLoggingService.Warning("PQ 队列已启动"); return; } if (thList.Count <= 0) { lock (thList) { if (thList.Count <= 0) { YmatouLoggingService.Debug("启动队列开始 {0}", pqSetting.QName); //thList = new List<Thread>(); for (var i = 0; i < pqSetting.ThreadCount; i++) { var th = new Thread(Consumer) { IsBackground = true, Name = "PQ_" + i }; th.Start(); thList.Add(th); } init = true; PQStatus = Status.RunIng; YmatouLoggingService.Debug("启动队列结束 {0}", pqSetting.QName); } } } }