public IActionResult DeleteAnalyticsRunGreenplum([FromServices] IDataClient dataClient, string customerShortName, string projectShortName, Guid analyticsRunId) { var projectConfig = _iam.GetProjectConfig(customerShortName, projectShortName); var parameters = new List <NpgsqlParameter> { new NpgsqlParameter("v_source_schema_name", NpgsqlDbType.Varchar) { Value = projectConfig.GreenplumConfig.SourceSchema }, new NpgsqlParameter("v_result_schema_name", NpgsqlDbType.Varchar) { Value = projectConfig.GreenplumConfig.ResultSchema }, new NpgsqlParameter("v_flowchart_run_uuid", NpgsqlDbType.Varchar) { Value = analyticsRunId.ToString() } }; var request = new GreenplumStoredProcedureRequest(projectConfig.GreenplumConfig.RawConnectionString, "usp_delete_flowchart_run", parameters); dataClient.ExecuteScalar <object>(request); _logging.Log("Deleted rates from greenplum", Orchestration.Shared.Domain.Log.LogLevels.Info, 50); return(Ok()); }
public IActionResult UpsertFlowchartRun([FromServices] IDataClient dataClient, string customerShortName, string projectShortName, Guid id) { var job = _jobProxy.GetJob(customerShortName, projectShortName, id); _workStatusProxy.Add(job, AnalyticsRunStatus.Running, Calculations.Percentage(0, 11, 14, _config.PreTAPercentageContribution), true, true); var projectConfig = _iam.GetProjectConfig(customerShortName, projectShortName); var stopWatch = Stopwatch.StartNew(); job.flowchartRunRequest.ToList().ForEach(flowchartRunRequest => flowchartRunRequest.flowchartCatalogMetadata.ToList().ForEach( catalog => { var beginDate = DateTime.Parse(flowchartRunRequest.reportingYearBeginDate); var endDate = DateTime.Parse(flowchartRunRequest.reportingYearEndDate); var parameters = new List <NpgsqlParameter> { new NpgsqlParameter("result_schema_name", NpgsqlDbType.Varchar) { Value = projectConfig.GreenplumConfig.ResultSchema }, new NpgsqlParameter("fc_catalog_id", DbType.Int64) { Value = catalog.flowchartCatalogID }, new NpgsqlParameter("flowchartrunuuid", NpgsqlDbType.Varchar) { Value = flowchartRunRequest.flowchartRunUUID.ToString() }, new NpgsqlParameter("fc_run_name", NpgsqlDbType.Varchar) { Value = flowchartRunRequest.name }, new NpgsqlParameter("fc_run_date_time", NpgsqlDbType.Varchar) { Value = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") }, new NpgsqlParameter("fc_begin_date", NpgsqlDbType.Varchar) { Value = beginDate.ToString("yyyy-MM-dd") }, new NpgsqlParameter("fc_end_date", NpgsqlDbType.Varchar) { Value = endDate.ToString("yyyy-MM-dd") }, new NpgsqlParameter("fc_catalog_name", NpgsqlDbType.Varchar) { Value = catalog.flowchartCatalogKey } }; var request = new GreenplumStoredProcedureRequest(projectConfig.GreenplumConfig.RawConnectionString, "usp_insert_update_flowchartrun", parameters); catalog.flowchartRunID = dataClient.ExecuteScalar <long>(request); })); _jobProxy.UpdateJob(job); _taskLogging.LogOperation(customerShortName, projectShortName, "UpsertFlowchartRun", job, stopWatch.Elapsed); return(Ok()); }
public ActionResult RefreshMemberCombined([FromServices] IDataClient dataClient, string customerShortName, string projectShortName, Guid id) { var job = _jobProxy.GetJob(customerShortName, projectShortName, id); _workStatusProxy.Add(new WorkStatus(id, true, Calculations.Percentage(0, 5, 14, _config.PreTAPercentageContribution), AnalyticsRunStatus.Running)); var projectConfig = _iam.GetProjectConfig(customerShortName, projectShortName); var parameters = new List <NpgsqlParameter> { new NpgsqlParameter("v_source_schema", NpgsqlDbType.Varchar) { Value = projectConfig.GreenplumConfig.SourceSchema }, new NpgsqlParameter("v_result_schema", NpgsqlDbType.Varchar) { Value = projectConfig.GreenplumConfig.ResultSchema } }; var stopWatch = Stopwatch.StartNew(); var request = new GreenplumStoredProcedureRequest(projectConfig.GreenplumConfig.RawConnectionString, "usp_member_combined", parameters); dataClient.ExecuteScalar <object>(request); _taskLogging.LogOperation(customerShortName, projectShortName, "RefreshMemberCombined", job, stopWatch.Elapsed); return(Ok()); }
public ActionResult ManageOutputCombined([FromServices] IDataClient dataClient, string customerShortName, string projectShortName, Guid id) { var job = _jobProxy.GetJob(customerShortName, projectShortName, id); _workStatusProxy.Add(job, AnalyticsRunStatus.Running, Calculations.Percentage(0, 12, 14, _config.PreTAPercentageContribution), true, true); var projectConfig = _iam.GetProjectConfig(customerShortName, projectShortName); var stopWatch = Stopwatch.StartNew(); job.flowchartRunRequest.ToList().ForEach(flowchartRunRequest => { var parameters = new List <NpgsqlParameter> { new NpgsqlParameter("v_result_schema", NpgsqlDbType.Varchar) { Value = projectConfig.GreenplumConfig.ResultSchema }, new NpgsqlParameter("v_flowchart_run_uuid", NpgsqlDbType.Varchar) { Value = flowchartRunRequest.flowchartRunUUID.ToString() } }; var request = new GreenplumStoredProcedureRequest(projectConfig.GreenplumConfig.RawConnectionString, "usp_manage_combined_output_tables", parameters); dataClient.ExecuteScalar <object>(request); }); _taskLogging.LogOperation(customerShortName, projectShortName, "ManageOutputCombined", job, stopWatch.Elapsed); return(Ok()); }
private void PopulateXrefAll(IDataClient dataClient, string customer, string project) { var projectConfig = _iam.GetProjectConfig(customer, project); var parameters = new List <NpgsqlParameter> { new NpgsqlParameter("v_result_schema", NpgsqlDbType.Varchar) { Value = projectConfig.GreenplumConfig.ResultSchema }, }; var request = new GreenplumStoredProcedureRequest(projectConfig.GreenplumConfig.RawConnectionString, "usp_populate_xref_all", parameters); dataClient.ExecuteScalar <object>(request); _logging.Log("usp_populate_xref_all proc executed"); }
public IActionResult TestLongRunning([FromServices] IDataClient dataClient, [FromServices] IIAM iam, string customerShortName, string projectShortName, int timeout) { var parameters = new List <NpgsqlParameter> { new NpgsqlParameter("v_timeout", NpgsqlDbType.Integer) { Value = timeout }, }; var projectConfig = iam.GetProjectConfig(customerShortName, projectShortName); var request = new GreenplumStoredProcedureRequest(projectConfig.GreenplumConfig.RawConnectionString, "usp_timeout_test", parameters); var stopWatch = Stopwatch.StartNew(); dataClient.ExecuteScalar <object>(request); _logging.Log($"Long-running-test ran for: { stopWatch.Elapsed }"); return(Ok()); }