Esempio n. 1
0
        private void Receives()
        {
            Receive <AttemptCrawl>(attempt =>
            {
                if (Uri.IsWellFormedUriString(attempt.RawStr, UriKind.Absolute))
                {
                    var startJob = new StartJob(new CrawlJob(new Uri(attempt.RawStr, UriKind.Absolute), true), Sender);
                    CommandRouter.Tell(startJob);
                    CommandRouter.Ask <Routees>(new GetRoutees()).ContinueWith(tr =>
                    {
                        var grrr =
                            new SignalRActor.DebugCluster(string.Format("{0} has {1} routees: {2}", CommandRouter,
                                                                        tr.Result.Members.Count(),
                                                                        string.Join(",",
                                                                                    tr.Result.Members.Select(
                                                                                        y => y.ToString()))));

                        return(grrr);
                    }).PipeTo(Sender);
                    Sender.Tell(startJob);
                }
                else
                {
                    Sender.Tell(new BadCrawlAttempt(attempt.RawStr, "Not an absolute URI"));
                }
            });
        }
        private void Receives()
        {
            Receive <AttemptCrawl>(attempt =>
            {
                if (Uri.IsWellFormedUriString(attempt.RawStr, UriKind.Absolute))
                {
                    var startJob = new StartJob(new CrawlJob(new Uri(attempt.RawStr, UriKind.Absolute), true), Sender);
                    CommandRouter.Tell(startJob);
                    var sender = Sender; // need to close over `Sender` when using `PipeTo`
                    CommandRouter.Ask <Routees>(new GetRoutees()).ContinueWith(tr =>
                    {
                        var grrr =
                            new SignalRActor.DebugCluster(
                                $"{CommandRouter} has {tr.Result.Members.Count()} routees: {string.Join(",", tr.Result.Members.Select(y => y.ToString()))}");

                        return(grrr);
                    }).PipeTo(sender);
                    Sender.Tell(startJob);
                }
                else
                {
                    Sender.Tell(new BadCrawlAttempt(attempt.RawStr, "Not an absolute URI"));
                }
            });
        }
        private void Receives()
        {
            Receive<AttemptCrawl>(attempt =>
            {
                if (Uri.IsWellFormedUriString(attempt.RawStr, UriKind.Absolute))
                {
                    var startJob = new StartJob(new CrawlJob(new Uri(attempt.RawStr, UriKind.Absolute), true), Sender);
                    CommandRouter.Tell(startJob);
                    CommandRouter.Ask<Routees>(new GetRoutees()).ContinueWith(tr =>
                    {
                        var grrr =
                            new SignalRActor.DebugCluster(string.Format("{0} has {1} routees: {2}", CommandRouter,
                                tr.Result.Members.Count(),
                                string.Join(",",
                                    tr.Result.Members.Select(
                                        y => y.ToString()))));

                        return grrr;
                    }).PipeTo(Sender);
                    Sender.Tell(startJob);
                }
                else
                {
                    Sender.Tell(new BadCrawlAttempt(attempt.RawStr, "Not an absolute URI"));
                }
            });
        }