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); }
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); }