Skip to content

Commit 9a5fc4d

Browse files
authored
Merge pull request #486 from serverlessworkflow/fix-next-task-resolution
Fix the `WorkflowDefinitionExtensions` and `DoTaskDefinitionExtensions` to rely on name to determine the next task
2 parents 9855378 + f8af3af commit 9a5fc4d

File tree

3 files changed

+3
-5
lines changed

3 files changed

+3
-5
lines changed

src/runner/Synapse.Runner/Extensions/DoTaskDefinitionExtensions.cs

+1-2
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@ public static class DoTaskDefinitionExtensions
3131
switch (after.Next)
3232
{
3333
case FlowDirective.Continue:
34-
var afterTask = doTask.Do[after.Name!];
35-
var afterIndex = doTask.Do.Select(t => t.Value).ToList().IndexOf(afterTask);
34+
var afterIndex = doTask.Do.Select(t => t.Key).ToList().IndexOf(after.Name!);
3635
return doTask.Do.Skip(afterIndex + 1).FirstOrDefault();
3736
case FlowDirective.End: case FlowDirective.Exit: return default;
3837
default: return new(after.Next!, doTask.Do[after.Next!]);

src/runner/Synapse.Runner/Extensions/WorkflowDefinitionExtensions.cs

+1-2
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@ public static class WorkflowDefinitionExtensions
3131
switch (after.Status == TaskInstanceStatus.Skipped ? FlowDirective.Continue : after.Next)
3232
{
3333
case FlowDirective.Continue:
34-
var afterTask = workflow.Do[after.Name!];
35-
var afterIndex = workflow.Do.Select(e => e.Value).ToList().IndexOf(afterTask);
34+
var afterIndex = workflow.Do.Select(kvp => kvp.Key).ToList().IndexOf(after.Name!);
3635
return workflow.Do.Skip(afterIndex + 1).FirstOrDefault();
3736
case FlowDirective.End: case FlowDirective.Exit: return default;
3837
default: return new(after.Next!, workflow.Do[after.Next!]);

src/runner/Synapse.Runner/Services/ConnectedWorkflowExecutionContext.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ public virtual async Task<TaskInstance> CreateTaskAsync(TaskDefinition definitio
123123
}
124124
else
125125
{
126-
var contextDocument = await this.Documents.CreateAsync($"{reference}/input", context, cancellationToken).ConfigureAwait(false);
126+
var contextDocument = await this.Documents.CreateAsync($"{reference}/context", context, cancellationToken).ConfigureAwait(false);
127127
contextReference = contextDocument.Id;
128128
}
129129
var filteredInput = input;

0 commit comments

Comments
 (0)