diff --git a/src/DurableTask.Core/Entities/OperationFormat/StartNewOrchestrationOperationAction.cs b/src/DurableTask.Core/Entities/OperationFormat/StartNewOrchestrationOperationAction.cs index c89c5b7bb..4c06f80cd 100644 --- a/src/DurableTask.Core/Entities/OperationFormat/StartNewOrchestrationOperationAction.cs +++ b/src/DurableTask.Core/Entities/OperationFormat/StartNewOrchestrationOperationAction.cs @@ -13,6 +13,7 @@ #nullable enable namespace DurableTask.Core.Entities.OperationFormat { + using System; using System.Collections.Generic; /// @@ -27,23 +28,29 @@ public class StartNewOrchestrationOperationAction : OperationAction // To ensure maximum compatibility, all properties should be public and settable by default. /// - /// The name of the sub-orchestrator to start. + /// Gets or sets the name of the sub-orchestrator to start. /// public string? Name { get; set; } /// - /// The version of the sub-orchestrator to start. + /// Gets or sets the version of the sub-orchestrator to start. /// public string? Version { get; set; } /// - /// The instance ID of the created sub-orchestration. + /// Gets or sets the instance ID of the created sub-orchestration. /// public string? InstanceId { get; set; } /// - /// The input of the sub-orchestration. + /// Gets or sets the input of the sub-orchestration. /// public string? Input { get; set; } + + /// + /// Gets or sets when to start the orchestration, or null if the orchestration should be started immediately. + /// + public DateTime? ScheduledStartTime { get; set; } + } } \ No newline at end of file diff --git a/src/DurableTask.Core/TaskEntityDispatcher.cs b/src/DurableTask.Core/TaskEntityDispatcher.cs index 10399a1c3..5779e6db9 100644 --- a/src/DurableTask.Core/TaskEntityDispatcher.cs +++ b/src/DurableTask.Core/TaskEntityDispatcher.cs @@ -803,6 +803,7 @@ void ProcessSendStartMessage(WorkItemEffects effects, OrchestrationRuntimeState runtimeState.Tags, new Dictionary() { { OrchestrationTags.FireAndForget, "" } }), OrchestrationInstance = destination, + ScheduledStartTime = action.ScheduledStartTime, ParentInstance = new ParentInstance { OrchestrationInstance = runtimeState.OrchestrationInstance,