mattcasters opened a new pull request, #8043:
URL: https://github.com/apache/hop/pull/8043
## What
Add an optional **Stop after (milliseconds)** wait timeout on nested
pipeline and workflow execution:
- Pipeline action and Workflow action (shown when wait-to-finish is enabled)
- Pipeline Executor and Workflow Executor (below the run configuration)
Empty or `0` waits indefinitely (current behavior). When the time is reached
the child is stopped:
- Actions fail so the workflow follows the error hop
- Executors report failure on the execution-results stream
(`ExecutionResult=N`, `ExecutionNrErrors>=1`)
The timeout is stored on the action/transform (`wait_timeout`), not on run
configuration metadata. The value can be a variable.
## Why
Maximum wait time is a caller concern: the same child can be run from
several parents with different patience. Run configurations describe how/where
something runs, not how long the parent should wait.
## How
- New `ExecutionWait` helper waits using the engine's own
`waitUntilFinished()` (or a worker thread for blocking workflow
`startExecution()`). On timeout it stops the child and waits for that stop to
complete.
- Timeout applies per child execution (including execute-every-row /
executor grouping).
- Fire-and-forget (`wait_until_finished=N`) ignores the timeout field.
## Tests
- `ExecutionWaitTest` covers parse, wait, and pipeline timeout/stop.
- Serialization tests for the four callers.
- Integration tests:
- `integration-tests/actions/main-0022-wait-timeout`
- `integration-tests/transforms/main-0107-executor-wait-timeout`
## Issue
Fixes #2383
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]