Пример #1
0
        protected BaseDataAnalysisActor(IDataAnalyzer analyzer, string sourcePath)
        {
            Analyzer       = analyzer;
            Logger         = Context.GetLogger();
            CsvReaderActor = Context.ActorOf(Props.Create <CsvReaderActor <TRowType, TRowMap> >(sourcePath), $"CsvReaderActor");

            Receive <InitiateAnalysisMessage>(message =>
            {
                Logger.Info("Received InitiateAnalysisMessage, Proceeding with file analysis.");
                CsvReaderActor.Tell(new InitiateAnalysisMessage());
            });

            Receive <PublishResultsMessage>(message =>
            {
                Logger.Info("Publishing Results.");
                Logger.Info($"Results - {Analyzer.GetResults().First().ToString()}");
            });

            Receive <DataRowMessage>(message => ProcessRow(message));

            Receive <FileAnalysisFinishedMessage>(message => PostAnalysis());
        }