Exemplo n.º 1
0
        public async Task Generate(IMarkdownFunctionSettings settings)
        {
            _logger.Information("Generating model");

            await _ephemeralRepository.GenerateModel(settings.ModelId, async reader =>
            {
                var model               = reader.Read <Model>().FirstOrDefault();
                var decayHierarchy      = reader.Read <DecayHierarchy>().ToList();
                var elasticityHierarchy = reader.Read <ElasticityHierarchy>().ToList();

                var workingSet64 = Process.GetCurrentProcess().WorkingSet64;
                _logger.Debug("Generated model. Working Set is {Size} ({Bytes})", workingSet64.ToOrdinalString(), workingSet64);

                _logger.Information("Writing data to S3");
                var modelPath = SmS3Path.ModelPath(SmS3PathName.Model, settings.S3ModelBucketName, settings.S3ModelTemplate, settings.ModelId, model.ModelRunId);
                await _s3Repository.WriteRecord(modelPath, model);

                var elasticityPath = SmS3Path.ModelPath(SmS3PathName.ElasticityHierarchy, settings.S3ModelBucketName, settings.S3ModelTemplate, settings.ModelId, model.ModelRunId);
                await _s3Repository.WriteRecords(elasticityPath, elasticityHierarchy);

                var decayPath = SmS3Path.ModelPath(SmS3PathName.DecayHierarchy, settings.S3ModelBucketName, settings.S3ModelTemplate, settings.ModelId, model.ModelRunId);
                await _s3Repository.WriteRecords(decayPath, decayHierarchy);
            });

            _logger.Information("Model generation complete");
        }
Exemplo n.º 2
0
        public async Task <SmModelData> GetModelData(IMarkdownFunctionSettings settings)
        {
            var elasticityPath = SmS3Path.ModelPath(SmS3PathName.ElasticityHierarchy, settings);
            var elasticity     = await _s3Repository.ReadRecords <ElasticityHierarchy>(elasticityPath);

            var decayPath = SmS3Path.ModelPath(SmS3PathName.DecayHierarchy, settings);
            var decay     = await _s3Repository.ReadRecords <DecayHierarchy>(decayPath);

            return(SmModelData.Build(elasticity, decay));
        }