void DrainQueue() { while (true) { if (Instance.Queue.Count == 0) { Thread.Sleep(500); //no pending actions available, pause if (_allowExit) { ReadyToExit = true; } continue; } _allowExit = true; ActionUpdateItem item = null; while (Instance.Queue.TryDequeue(out item)) { _dal.UpdatePlanActionStatus(item); } } }
public void UpdatePlanActionStatus(string planUniqueName, long planInstanceId, ActionItem actionItem) { _dal.UpdatePlanActionStatus(planUniqueName, planInstanceId, actionItem); }