Ejemplo n.º 1
0
        public IEnumerable <SubscriberState> SyncSubscriber(CmdArgsSubIdOpt args)
        {
            var allSubsWithNotifyUris = GetSubscriber(args).Where(sub => sub.PublicUpdateNotifyUri != null);
            var subs = new Dictionary <string, SubscriberState>();

            foreach (var sub in allSubsWithNotifyUris)
            {
                if (!subs.ContainsKey(sub.PublicUpdateNotifyUri.AbsoluteUri))
                {
                    subs.Add(sub.PublicUpdateNotifyUri.AbsoluteUri, sub);
                }
            }
            var subsToPing = subs.Values;
            var resp       = PingSubscribers(subsToPing, TimeSpan.FromMinutes(5));
            var succeded   = from ret in resp
                             where ret.Value == HttpStatusCode.Accepted
                             select ret.Key;

            var failed = from ret in resp
                         where ret.Value != HttpStatusCode.Accepted
                         select ret;

            foreach (var kv in failed)
            {
                LogEvent.SubscriberSyncWrongStatus(kv.Key.Id, kv.Key.PublicUpdateNotifyUri, (int)kv.Value);
            }

            return(succeded);
        }
Ejemplo n.º 2
0
        public IEnumerable <SubscriberState> GetSubscriber(CmdArgsSubIdOpt args)
        {
            var ops = GetOperations();

            if (String.IsNullOrEmpty(args.Id))
            {
                return(ops.GetSubcribers());
            }
            else
            {
                return(SingleOrEmpty(ops.GetSubscriber(args.Id)));
            }
        }
Ejemplo n.º 3
0
 public CmdVerbs()
 {
     GetToolVersion          = new CmdArgsGetToolVersion();
     NewSubscriber           = new CmdArgsNewSub();
     GetSubscriber           = new CmdArgsSubIdOpt();
     RemoveSubscriber        = new CmdArgsSubIdReq();
     SyncSubscriber          = new CmdArgsSubIdOpt();
     PublishDirectory        = new CmdArgsPublishDirectory();
     SyncDirectory           = new CmdArgsSyncDirectory();
     InitalizeSyncState      = new CmdArgsInitalizeSyncState();
     KuduSync                = new KuduSyncOptions();
     GetHelp                 = new CmdArgsGetHelpCommand();
     SetSubscriberSiteStatus = new CmdArgsSetSubscriberSiteStatus();
     WatchSyncState          = new CmdArgsWatchSyncState();
 }