IRunCancellationRegistry
AgentPrism.Abstractions.dllThe in-memory registry of runs in progress on this instance; binds an incoming cancellation request to the running run’s CancellationTokenSource.
public interface IRunCancellationRegistryRemarks
Section titled “Remarks”The registry is in-process. In a multi-instance
deployment, a request may land on the wrong instance; in that case the
cancellation endpoint returns 409 Conflict. A setup that needs a
distributed registry can replace this interface with its own
implementation (TryAddSingleton).
Cancelling the root run (RunId == RootRunId) also cancels every
record under the same RootRunId. Cancelling a single child run
affects neither sibling branches nor the root.
Properties
Section titled “Properties”ActiveCount
Section titled “ ActiveCount”The number of runs in progress on this instance. For diagnostics and tests.
int ActiveCount { get; }Property Value
Section titled “Property Value”ActiveRunIds
Section titled “ ActiveRunIds”The identifiers of the runs currently in progress on this instance.
IReadOnlyCollection<Guid> ActiveRunIds { get; }Property Value
Section titled “Property Value”Remarks
Section titled “Remarks”RunHeartbeatWriter uses this list to write heartbeats only for runs
THIS process is actually executing. Another instance marking a Running row as
“alive” by mistake would defeat the entire purpose of reconciliation.
Methods
Section titled “Methods”Register(Guid, Guid, string?, CancellationTokenSource)
Section titled “ Register(Guid, Guid, string?, CancellationTokenSource)”Writes a running run into the registry.
IDisposable Register(Guid runId, Guid rootRunId, string? tenantId, CancellationTokenSource source)Parameters
Section titled “Parameters”runId Guid
The run’s identifier.
rootRunId Guid
The identifier of the run at the root of the tree. Equals
runId
for the root.
tenantId string?
The run’s tenant.
source CancellationTokenSource
The source that triggers the run’s cancellation. Ownership stays with the caller; this method does not dispose it.
Returns
Section titled “Returns”The object to dispose to remove the record from the registry.
TryCancel(Guid, string?)
Section titled “ TryCancel(Guid, string?)”Requests a run’s cancellation. If it is the tree root, child runs are also cancelled.
bool TryCancel(Guid runId, string? tenantId)Parameters
Section titled “Parameters”runId Guid
The identifier of the run whose cancellation is requested.
tenantId string?
The requesting tenant. If it does not match the record’s tenant, the request is ignored.
Returns
Section titled “Returns”true if the cancellation request reached a record.