Exemple #1
0
        private static int RecreateReport(GlobalOptions globalOptions, CohortPackagerCliOptions cliOptions)
        {
            Logger logger = LogManager.GetCurrentClassLogger();

            logger.Info($"Recreating report for job {cliOptions.ExtractionId}");

            MongoDbOptions mongoDbOptions = globalOptions.MongoDatabases.ExtractionStoreOptions;
            MongoClient    client         = MongoClientHelpers.GetMongoClient(mongoDbOptions, SmiCliInit.HostProcessName);
            var            jobStore       = new MongoExtractJobStore(client, mongoDbOptions.DatabaseName);

            // NOTE(rkm 2020-10-22) Sets the extraction root to the current directory
            IJobReporter reporter = JobReporterFactory.GetReporter(
                "FileReporter",
                jobStore,
                new FileSystem(),
                Directory.GetCurrentDirectory(),
                cliOptions.ReportFormat.ToString(),
                cliOptions.OutputNewLine ?? globalOptions.CohortPackagerOptions.ReportNewLine,
                createJobIdFile: false
                );

            try
            {
                reporter.CreateReport(cliOptions.ExtractionId);
            }
            catch (Exception e)
            {
                logger.Error(e);
                return(1);
            }

            return(0);
        }
Exemple #2
0
        private void DoJobCompletionTasks(ExtractJobInfo jobInfo)
        {
            Guid jobId = jobInfo.ExtractionJobIdentifier;

            if (jobInfo.JobStatus != ExtractJobStatus.ReadyForChecks)
            {
                throw new ApplicationException($"Job {jobId} is not ready for checks");
            }

            _logger.Info($"All files for job {jobId} present, running completion tasks");

            _jobStore.MarkJobCompleted(jobId);

            _reporter.CreateReport(jobId);
            _logger.Info($"Report for {jobId} created");

            _notifier.NotifyJobCompleted(jobInfo);
        }