Skip to content

Commit f8af3af

Browse files
committed
fix(Runner): Fixed the WorkflowDefinitionExtensions and DoTaskDefinitionExtensions to rely on name to determine the next task, instead of relying of task record equality, which resulted in wrong resolution when the task had similar properties
Fixes #485 Signed-off-by: Charles d'Avernas <charles.davernas@neuroglia.io>
1 parent 9855378 commit f8af3af

File tree

3 files changed

+3
-5
lines changed

3 files changed

+3
-5
lines changed

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

Lines changed: 1 addition & 2 deletions
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

Lines changed: 1 addition & 2 deletions
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

Lines changed: 1 addition & 1 deletion
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)