A local call waiting for a slot is reached by a stop, a delete or a cancel and ends without running; what a call emits after its flow was stopped is dropped as its result is; a node run by hand whose flow is stopped or deleted tells its caller but publishes no node_error; cancelling a node also ends its calls on workers
Docs / docs (push) Successful in 33s
Playwright Tests / test-playwright (1, 2) (push) Successful in 3m45s
Playwright Tests / test-playwright (2, 2) (push) Successful in 2m47s
pre-commit / pre-commit (push) Successful in 3m44s
Test Backend / test-backend (3.12) (push) Failing after 5m55s
Test Backend / test-backend (3.14) (push) Failing after 5m31s
Compose Smoke Test / test-compose (push) Successful in 33s
Playwright Tests / merge-reports (push) Successful in 1m19s
Docs / docs (push) Successful in 33s
Playwright Tests / test-playwright (1, 2) (push) Successful in 3m45s
Playwright Tests / test-playwright (2, 2) (push) Successful in 2m47s
pre-commit / pre-commit (push) Successful in 3m44s
Test Backend / test-backend (3.12) (push) Failing after 5m55s
Test Backend / test-backend (3.14) (push) Failing after 5m31s
Compose Smoke Test / test-compose (push) Successful in 33s
Playwright Tests / merge-reports (push) Successful in 1m19s
This commit is contained in:
@@ -2113,6 +2113,8 @@ class FlowController:
|
||||
node = self.get_node(node_id)
|
||||
if node is None:
|
||||
raise KeyError(node_id)
|
||||
pipeline = self.pipeline
|
||||
ended = pipeline.ended(node.flow) if pipeline is not None else 0
|
||||
try:
|
||||
if node.requires and values:
|
||||
node.trigger(values, durable=False)
|
||||
@@ -2121,9 +2123,14 @@ class FlowController:
|
||||
except EngineHeld:
|
||||
raise
|
||||
except Exception as exc:
|
||||
if self.pipeline is None:
|
||||
if pipeline is None:
|
||||
raise
|
||||
return self.pipeline.publish_error(node, exc)
|
||||
if pipeline.ended(node.flow) != ended:
|
||||
# Its flow was stopped or deleted while it ran, most likely
|
||||
# ending the call. The person who clicked is told, alert rules
|
||||
# are not, as for a cascade.
|
||||
return f"{type(exc).__name__}: {exc}"
|
||||
return pipeline.publish_error(node, exc)
|
||||
return ""
|
||||
|
||||
def _publish(self, event: dict[str, Any]) -> None:
|
||||
|
||||
Reference in New Issue
Block a user