Stopping a live flow ends the calls it has running, on workers and in the local pool, and deleting one now ends its local calls too; what a call returns after its flow was stopped or deleted is dropped by a per-flow count the node compares, so a flow started again never takes an old call's answer. A live remote call's id carries a suffix, so two calls of one node no longer share it, and a call is registered before it queues for a slot, so ending its flow or run reaches it and it is never sent; a run's cancel goes through the call's own thread as well
This commit is contained in:
@@ -96,10 +96,10 @@ Source code travels with each call and compiles on the worker, so remote-only
|
||||
dependencies do not need to be installed on the engine. Calls to `emit`,
|
||||
`save_artifact` and `load_artifact` work there too.
|
||||
|
||||
Cancelling a run stops its active node processes. Deleting a flow does the same
|
||||
for the calls it has out, and drops an answer that still comes back. A
|
||||
disconnected worker fails in-flight calls. While executing, the agent sends
|
||||
heartbeats every ten seconds; 90 seconds without contact fails the call.
|
||||
Cancelling a run stops its active node processes. Stopping or deleting a flow
|
||||
does the same for the calls it has out, and drops an answer that still comes
|
||||
back. A disconnected worker fails in-flight calls. While executing, the agent
|
||||
sends heartbeats every ten seconds; 90 seconds without contact fails the call.
|
||||
Heartbeats do not reset the node's own silence timeout.
|
||||
|
||||
Every call runs in a process group of its own. The agent kills the group when
|
||||
|
||||
Reference in New Issue
Block a user