@@ -593,59 +593,9 @@ message WorkflowExecutionOptions {
593593 // to the current workflow timestamp. Each call takes effect, even if
594594 // `fast_forward` is set to the same duration, since the target time is recalculated
595595 // from the current timestamp on every call.
596- TimeSkippingConfig time_skipping_config = 3 ;
596+ temporal.api.common.v1. TimeSkippingConfig time_skipping_config = 3 ;
597597}
598598
599- // The configuration for time skipping of a workflow execution (a chain of runs including retries, cron, continue-as-new).
600- // When time skipping is enabled, virtual time advances automatically whenever there is no in-flight work.
601- // In-flight work includes activities, child workflows, Nexus operations, signal/cancel external workflow operations,
602- // and possibly other features added in the future.
603- // User timers are not classified as in-flight work and will be skipped over; the virtual clock may also skip to the
604- // time point of the registered fast forward when there is no in-flight work.
605- // When time is skipped, a WorkflowExecutionTimeSkippingTransitionedEvent will be
606- // added to the workflow history to capture the state changes.
607- //
608- // For child workflows, by default, if the parent execution is skipping time, the child execution will also skip time,
609- // but a parent's fast_forward won't affect its child's execution. A flag is provided to disable propagation of the
610- // "enabled" flag to child workflows; regardless of that flag, a child workflow inherits the virtual time from the
611- // parent execution as its start time.
612- message TimeSkippingConfig {
613- // Enables or disables time skipping for this workflow execution.
614- bool enabled = 1 ;
615-
616- // Optionally fast-forward the current workflow execution by this duration ahead of current workflow execution time.
617- // When the fast-forward completes, time skipping is disabled by the call that initiated the fast-forward, and this
618- // action is recorded in the WorkflowExecutionTimeSkippingTransitionedEvent. It can be re-enabled by
619- // setting `enabled` to true via UpdateWorkflowExecutionOptions.
620- // The current workflow execution is a chain of runs (retries, cron, continue-as-new);
621- // child workflows are separate executions, so this fast_forward won't affect them.
622- //
623- // For a given workflow execution, only one active fast-forward is allowed at a time.
624- // If a new fast-forward is set via UpdateWorkflowExecutionOptions before the previous
625- // one completes, the new one will override the previous one.
626- // If the fast-forward duration exceeds the remaining execution timeout, time will only
627- // be fast-forwarded up to the end of the execution.
628- google.protobuf.Duration fast_forward = 2 ;
629-
630- // By default, child workflows inherit the "enabled" flag when they are started.
631- // This flag disables that inheritance.
632- bool disable_child_propagation = 3 ;
633- }
634-
635- // The time-skipping state that needs to be propagated from a parent workflow to a child workflow,
636- // or through a chain of runs.
637- message TimeSkippingStatePropagation {
638-
639- // The time skipped by the previous execution that started this workflow.
640- // It can happen in child workflows and a chain of runs (CaN, cron, retry).
641- google.protobuf.Duration initial_skipped_duration = 1 ;
642-
643- // If there is a fast-forward action set for the previous run in a chain of runs,
644- // the target time should be propagated to the next run as well.
645- google.protobuf.Timestamp fast_forward_target_time = 2 ;
646- }
647-
648-
649599// Used to override the versioning behavior (and pinned deployment version, if applicable) of a
650600// specific workflow execution. If set, this override takes precedence over worker-sent values.
651601// See `WorkflowExecutionInfo.VersioningInfo` for more information.
0 commit comments