Exemplo n.º 1
0
        public AppraisersFlow CreateFlow()
        {
            var appraisersFunc = new List <Funcotype>(_appraisersAsync.Count);

            foreach ((Type type, IList <IAppraiserAsync> appraisersAsync) in _appraisersAsync)
            {
                foreach (IAppraiserAsync appraiserAsync in appraisersAsync)
                {
                    var funcotype = new Funcotype(
                        entityInfo => TryGetRatings(appraiserAsync, entityInfo),
                        type
                        );
                    appraisersFunc.Add(funcotype);
                }
            }

            var appraisersFlow = new AppraisersFlow(appraisersFunc);

            _logger.Info("Constructed appraisers pipeline.");
            return(appraisersFlow);
        }
Exemplo n.º 2
0
        private DataflowPipeline ConstructPipeline(string storageName)
        {
            // Input component work.
            InputtersFlow inputtersFlow = InputManagerAsync.CreateFlow(storageName);

            // Crawlers component work.
            CrawlersFlow crawlersFlow = CrawlersManagerAsync.CreateFlow();

            // Appraisers component work.
            AppraisersFlow appraisersFlow = AppraisersManagerAsync.CreateFlow();

            // Output component work.
            OutputtersFlow outputtersFlow =
                OutputManagerAsync.CreateFlow(storageName: string.Empty);

            // Constructing pipeline.
            inputtersFlow.LinkTo(crawlersFlow);
            crawlersFlow.LinkTo(appraisersFlow);
            appraisersFlow.LinkTo(outputtersFlow);

            return(new DataflowPipeline(inputtersFlow, outputtersFlow));
        }