Skip to content

359 orchestration error handling#261

Merged
kjlippold merged 5 commits intomainfrom
359-orchestration-error-handling
Mar 9, 2026
Merged

359 orchestration error handling#261
kjlippold merged 5 commits intomainfrom
359-orchestration-error-handling

Conversation

@kjlippold
Copy link
Contributor

This PR moves ETL error handling and aggregation logic from HydroServer into hydroserverpy.

See hydroserver2/hydroserverpy#25

HydroServer's Celery tasks now use the ETLPipeline from hydroserverpy to build and run ETL tasks. All user-facing errors should be of type ETLError. Error messages have been redefined at the source of each exception rather than at an intermediate layer, so many messages have changed from their previous versions — we can adjust them as needed.

The frontend has not been updated yet, although the PR makes very few changes to the API. The structure of task run results has changed to include more context, and some fields such as the source URI have moved within the response — these will need to be accounted for on the frontend. We may want to review how tasks are stored in HydroServer to make sure we're using a design that makes sense across ETL, aggregation, QA/QC, and any other types of tasks we anticipate supporting. In the meantime, any mapping of configurations stored in HydroServer to the new ETL package interface is handled by a small helper module in hydroserverpy at https://github.com/hydroserver2/hydroserverpy/blob/359-etl-error-handling/src/hydroserverpy/etl/hydroserver.py

This updated ETL package is currently deployed to https://hydroserverdev.waterrights.utah.gov/

@kjlippold kjlippold merged commit 93a4a24 into main Mar 9, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant