Module: Temporalio::ContinueAsNewVersioningBehavior
- Defined in:
- lib/temporalio/common_enums.rb
Overview
Specifies the versioning behavior for the first task of a new run after continue-as-new. This is currently experimental.
Constant Summary collapse
- UNSPECIFIED =
Unspecified. Follow existing continue-as-new inheritance semantics.
Api::Enums::V1::ContinueAsNewVersioningBehavior::CONTINUE_AS_NEW_VERSIONING_BEHAVIOR_UNSPECIFIED
- AUTO_UPGRADE =
Start the new run with AutoUpgrade behavior. Use the Target Version of the workflow’s task queue at start-time. After the first workflow task completes, use whatever Versioning Behavior the workflow is annotated with in the workflow code.
Api::Enums::V1::ContinueAsNewVersioningBehavior::CONTINUE_AS_NEW_VERSIONING_BEHAVIOR_AUTO_UPGRADE
- USE_RAMPING_VERSION =
Use the Ramping Version of the workflow’s task queue at start time, regardless of the workflow’s Target Version (according to f(workflow_id, ramp_percentage)). After the first workflow task completes, the workflow will use whatever Versioning Behavior it is annotated with. If there is no Ramping Version by the time that the first workflow task is dispatched, it will be sent to the Current Version.
It is highly discouraged to use this if the workflow is annotated with AutoUpgrade behavior, because this setting ONLY applies to the first task of the workflow. If, after the first task, the workflow is AutoUpgrade, it will behave like a normal AutoUpgrade workflow and go to the Target Version, which may be the Current Version instead of the Ramping Version.
Note that if the workflow being continued has a Pinned override, that override will be inherited by the new workflow run regardless of the ContinueAsNewVersioningBehavior specified in the continue-as-new command. Versioning Override always takes precedence until it’s removed manually via UpdateWorkflowExecutionOptions.
Api::Enums::V1::ContinueAsNewVersioningBehavior::CONTINUE_AS_NEW_VERSIONING_BEHAVIOR_USE_RAMPING_VERSION