示例#1
0
        private void HubAvailable()
        {
            Receive <InitiateCrawl>(initCrawl => _commandProcessor.Tell(new CommandProcessorActor.AttemptCrawl(initCrawl.Address, initCrawl.Depth)));
            Receive <CommandProcessorActor.CrawlAttemptFailed>(m => {
                var msg = new DebugMessage($"Crawl attempt failed: {m.Reason}", MessageType.Error);
                _hub.WriteMessage(msg);
            });
            Receive <CrawlJobResult>(result => {
                var msg = new DebugMessage($"Crawl complete!", MessageType.Informational);
                _hub.WriteMessage(msg);
                _hub.SendGraph(result.Graph);
            });

            Receive <Crawler.Debug.PageCrawlStarted>(m => {
                var msg = new DebugMessage($"Started page crawl: depth = {m.Depth}, address = {m.Address}", MessageType.Informational);
                _hub.WriteMessage(msg);
            });
            Receive <Crawler.Debug.PageCrawlCompleted>(m => {
                var msg = new DebugMessage($"Finished page crawl: title = {m.Title}, numLinks = {m.LinkedArticleCount}", MessageType.Informational);
                _hub.WriteMessage(msg);
            });
            Receive <Crawler.Debug.PageCrawlFailed>(m => {
                var msg = new DebugMessage($"Failed page crawl!", MessageType.Error);
            });
        }