fix(investigation): allow autonomous model baseline recovery
Generic Container CI/CD / test-build-publish (push) Failing after 2m11s
Server CI/CD v2 / build-test-publish-and-deploy (push) Failing after 2m11s

This commit is contained in:
2026-11-15 12:37:08 +08:00
parent 58a907bfbe
commit 747e9e53e0
22 changed files with 324 additions and 96 deletions
+7 -3
View File
@@ -157,6 +157,7 @@ def run_online_simulation(
*,
output_node_ids: list[str] | None = None,
output_link_ids: list[str] | None = None,
scada_mappings: ScadaElementMappings | None = None,
) -> dict:
"""Recalculate online baseline snapshots without cloning a model database."""
if start_time.tzinfo is None or duration_seconds <= 0:
@@ -166,7 +167,10 @@ def run_online_simulation(
)
if step <= 0:
raise ValueError("HYDRAULIC TIMESTEP must be greater than 0.")
mappings = query_corresponding_element_id_and_query_id(name)
mappings = (
scada_mappings if scada_mappings is not None
else query_corresponding_element_id_and_query_id(name)
)
selected = {
"node": {node: [] for node in output_node_ids or []},
"link": {link: [] for link in output_link_ids or []},
@@ -179,13 +183,13 @@ def run_online_simulation(
output = run_simulation(
name=name,
simulation_type="realtime",
modify_pattern_start_time=current.isoformat(timespec="seconds"),
modify_pattern_start_time=current.isoformat(),
scada_mappings=mappings,
)
if not isinstance(output, dict):
raise RuntimeError("Online simulation did not return calculation results")
units = output.get("units", {})
sample_times.append(current.isoformat(timespec="seconds"))
sample_times.append(current.isoformat())
for kind, elements in selected.items():
if not elements:
continue