Example #1
0
        private async Task <ServiceStatus> GetThingNames(BufferBlock <string> queue, string storageName)
        {
            try
            {
                bool status = await InputManagerAsync.GetNames(queue, storageName);

                if (status)
                {
                    GlobalMessageHandler.OutputMessage("Things were successfully gotten.");
                    return(ServiceStatus.Ok);
                }

                GlobalMessageHandler.OutputMessage($"No Things were found in \"{storageName}\".");
                return(ServiceStatus.Nothing);
            }
            catch (Exception ex)
            {
                _logger.Error(ex, "Exception occured during input work.");
                return(ServiceStatus.InputError);
            }
        }
Example #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));
        }