Skip to content

Commit 985dd39

Browse files
authored
Introduce BeginExecute to express fire-and-forget intent on ExecutionNode (#9432)
1 parent 24c3d32 commit 985dd39

2 files changed

Lines changed: 9 additions & 2 deletions

File tree

src/HotChocolate/Fusion/src/Fusion.Execution/Execution/ExecutionState.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ public void StartNode(OperationPlanContext context, ExecutionNode node, Cancella
133133
}
134134

135135
RemoveFromBacklog(node.Id, NodeStateNone);
136-
_ = node.ExecuteAsync(context, cancellationToken);
136+
node.BeginExecute(context, cancellationToken);
137137
}
138138

139139
public void EnqueueForCompletion(ExecutionNodeResult result)

src/HotChocolate/Fusion/src/Fusion.Execution/Execution/Nodes/ExecutionNode.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,14 @@ public abstract class ExecutionNode : IOperationPlanNode, IEquatable<ExecutionNo
5454
/// </summary>
5555
public ReadOnlySpan<IOperationPlanNode> OptionalDependencies => _optionalDependencies;
5656

57-
public async Task ExecuteAsync(
57+
#pragma warning disable CA2012
58+
public void BeginExecute(
59+
OperationPlanContext context,
60+
CancellationToken cancellationToken = default)
61+
=> _ = ExecuteAsync(context, cancellationToken);
62+
#pragma warning restore CA2012
63+
64+
private async ValueTask ExecuteAsync(
5865
OperationPlanContext context,
5966
CancellationToken cancellationToken = default)
6067
{

0 commit comments

Comments
 (0)