Ejemplo n.º 1
0
        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();
                    }
                });
        }
Ejemplo n.º 3
0
        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();
            }));
        }