Task Sync(ICollection<Server> objects, CancellationToken token) { State = new ServerQueryOverallState {Maximum = objects.Count, UnProcessed = objects.Count}; return Enumerable.Empty<ServerQueryState>().SimpleRunningQueueAsync(1, blockingCollection => SyncServers(objects, token, state => { if (!state.Success) { state.Server.IsUpdating = false; return; } blockingCollection.Add(state); }), x => { TryUpdateServerFromSyncInfo(x); State.IncrementProcessed(); }); }
Task Sync(ICollection<IServer> objects, CancellationToken token) { State = new ServerQueryOverallState {Maximum = objects.Count, UnProcessed = objects.Count}; return Enumerable.Empty<ServerQueryState>().SimpleRunningQueueAsync(1, blockingCollection => SyncServers(objects, token, state => { if (state.Status != Status.SuccessParsing) return; blockingCollection.Add(state, token); }), x => { try { x.UpdateServer(); } catch (Exception ex) { x.Exception = ex; State.IncrementProcessed(); } }); }
Task Sync(ICollection <Server> objects, CancellationToken token) { State = new ServerQueryOverallState { Maximum = objects.Count, UnProcessed = objects.Count }; return(Enumerable.Empty <ServerQueryState>().SimpleRunningQueueAsync(1, blockingCollection => SyncServers(objects, token, state => { if (!state.Success) { state.Server.IsUpdating = false; return; } blockingCollection.Add(state); }), x => { TryUpdateServerFromSyncInfo(x); State.IncrementProcessed(); })); }