Consider adding flag for skipping processing for each LOOP_BY if part of the chain fails
Opened this issue · 0 comments
Describe the New Feature
When @JohnHalleyGotway was testing dtcenter/MET#2897, he encountered a failure in one but not all of the processes in the PROCESS_LIST
. In this case, the process list was:
PROCESS_LIST = PyEmbedIngest,PointStat,PlotPointObs
John's question was whether PointStat
and PlotPointObs
should attempt to run if PyEmbedIngest
failed. Currently, the behavior is to run all processes in the PROCESS_LIST
regardless of failures of upstream processes.
This issue is to suggest adding a configuration item for users to REQUIRE_ALL_SUCCEED
or something to that effect, which keeps track of the error or success of each process in the PROCESS_LIST
. If an error is recorded, then the PROCESS_LIST
is halted for the current iteration of METplus Wrappers (e.g. current iteration of LOOP_BY
), and the Wrappers will proceed to the next time.
This is may only apply to instances where the user is calling PyEmbedIngest
, since presumably the result of that process is required downstream. So perhaps the work is something like adding PY_EMBED_INGEST_STOP_ON FAIL
, for example.
Acceptance Testing
Try the new config item and ensure METplus Wrappers is advancing to the next iteration based on the failure state.
Time Estimate
1 Day
Relevant Deadlines
NONE.
Funding Source
NONE.
Define the Metadata
Assignee
- Select engineer(s) or no engineer required
- Select scientist(s) or no scientist required
Labels
- Review default alert labels
- Select component(s)
- Select priority
- Select requestor(s)
Milestone and Projects
- Select Milestone as a METplus-Wrappers-X.Y.Z version, Consider for Next Release, or Backlog of Development Ideas
- For a METplus-Wrappers-X.Y.Z version, select the METplus-Wrappers-X.Y.Z Development project
Define Related Issue(s)
Consider the impact to the other METplus components.
New Feature Checklist
See the METplus Workflow for details.
- Complete the issue definition above, including the Time Estimate and Funding source.
- Fork this repository or create a branch of develop.
Branch name:feature_<Issue Number>_<Description>
- Complete the development and test your changes.
- Add/update log messages for easier debugging.
- Add/update unit tests.
- Add/update documentation.
- Add any new Python packages to the METplus Components Python Requirements table.
- For any new datasets, an entry to the METplus Verification Datasets Guide.
- Push local changes to GitHub.
- Submit a pull request to merge into develop.
Pull request:feature <Issue Number> <Description>
- Define the pull request metadata, as permissions allow.
Select: Reviewer(s) and Development issue
Select: Milestone as the next official version
Select: METplus-Wrappers-X.Y.Z Development project for development toward the next official release - Iterate until the reviewer(s) accept and merge your changes.
- Delete your fork or branch.
- Close this issue.