Exception: Temporalio::Workflow::ContinueAsNewError

Inherits:
Error
  • Object
show all
Defined in:
lib/temporalio/workflow.rb

Overview

Error that is raised by a workflow out of the primary workflow method to issue a continue-as-new.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Error

canceled?

Constructor Details

#initialize(*args, workflow: nil, task_queue: nil, run_timeout: nil, task_timeout: nil, backoff_start_interval: nil, retry_policy: nil, memo: nil, search_attributes: nil, arg_hints: nil, headers: {}, initial_versioning_behavior: nil, event_groups: nil) ⇒ ContinueAsNewError

Create a continue as new error.

Parameters:

  • args (Array<Object>) —

    Arguments for the new workflow.

  • workflow (Class<Workflow::Definition>, String, Symbol, nil) (defaults to: nil) —

    Workflow definition class or workflow name. If unset/nil, the current workflow is used.

  • task_queue (String, nil) (defaults to: nil) —

    Task queue for the workflow. If unset/nil, the current workflow task queue is used.

  • run_timeout (Float, nil) (defaults to: nil) —

    Timeout of a single workflow run in seconds. The default is not carried over from the current workflow.

  • task_timeout (Float, nil) (defaults to: nil) —

    Timeout of a single workflow task in seconds. The default is not carried over from the current workflow.

  • backoff_start_interval (Float, nil) (defaults to: nil) —

    Delay before the first workflow task of the continued run is scheduled.

  • retry_policy (RetryPolicy, nil) (defaults to: nil) —

    Retry policy for the workflow. If unset/nil, the current workflow retry policy is used.

  • memo (Hash{String, Symbol => Object}, nil) (defaults to: nil) —

    Memo for the workflow. If unset/nil, the current workflow memo is used.

  • search_attributes (SearchAttributes, nil) (defaults to: nil) —

    Search attributes for the workflow. If unset/nil, the current workflow search attributes are used.

  • arg_hints (Array<Object>, nil) (defaults to: nil) —

    Overrides converter hints for arguments if any. If unset/nil and the workflow definition has arg hints, those are used by default.

  • headers (Hash<String, Object>) (defaults to: {}) —

    Headers for the workflow. The default is not carried over from the current workflow.

  • initial_versioning_behavior (ContinueAsNewVersioningBehavior::enum, nil) (defaults to: nil) —

    Versioning behavior for the first task of the new run. Set to ContinueAsNewVersioningBehavior::AUTO_UPGRADE to upgrade a pinned workflow to the latest version on continue-as-new or ContinueAsNewVersioningBehavior::USE_RAMPING_VERSION to start on the task queue's Ramping Version. This is currently experimental.

  • event_groups (Array<EventGroup>, nil) (defaults to: nil) —

    Event Groups to attach to the continue-as-new command. WARNING: This option is experimental.



777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
# File 'lib/temporalio/workflow.rb', line 777

def initialize(
  *args,
  workflow: nil,
  task_queue: nil,
  run_timeout: nil,
  task_timeout: nil,
  backoff_start_interval: nil,
  retry_policy: nil,
  memo: nil,
  search_attributes: nil,
  arg_hints: nil,
  headers: {},
  initial_versioning_behavior: nil,
  event_groups: nil
)
  super('Continue as new')
  @args = args
  @workflow = workflow
  @task_queue = task_queue
  @run_timeout = run_timeout
  @task_timeout = task_timeout
  @backoff_start_interval = backoff_start_interval
  @retry_policy = retry_policy
  @memo = memo
  @search_attributes = search_attributes
  @arg_hints = arg_hints
  @headers = headers
  @initial_versioning_behavior = initial_versioning_behavior
  @event_groups = event_groups
  Workflow._current.initialize_continue_as_new_error(self)
end

Instance Attribute Details

#arg_hints ⇒ Object

Returns the value of attribute arg_hints.



742
743
744
# File 'lib/temporalio/workflow.rb', line 742

def arg_hints
  @arg_hints
end

#args ⇒ Object

Returns the value of attribute args.



742
743
744
# File 'lib/temporalio/workflow.rb', line 742

def args
  @args
end

#backoff_start_interval ⇒ Object

Returns the value of attribute backoff_start_interval.



742
743
744
# File 'lib/temporalio/workflow.rb', line 742

def backoff_start_interval
  @backoff_start_interval
end

#event_groups ⇒ Object (readonly)

Returns the value of attribute event_groups.



746
747
748
# File 'lib/temporalio/workflow.rb', line 746

def event_groups
  @event_groups
end

#headers ⇒ Object

Returns the value of attribute headers.



742
743
744
# File 'lib/temporalio/workflow.rb', line 742

def headers
  @headers
end

#initial_versioning_behavior ⇒ Object

Returns the value of attribute initial_versioning_behavior.



742
743
744
# File 'lib/temporalio/workflow.rb', line 742

def initial_versioning_behavior
  @initial_versioning_behavior
end

#memo ⇒ Object

Returns the value of attribute memo.



742
743
744
# File 'lib/temporalio/workflow.rb', line 742

def memo
  @memo
end

#retry_policy ⇒ Object

Returns the value of attribute retry_policy.



742
743
744
# File 'lib/temporalio/workflow.rb', line 742

def retry_policy
  @retry_policy
end

#run_timeout ⇒ Object

Returns the value of attribute run_timeout.



742
743
744
# File 'lib/temporalio/workflow.rb', line 742

def run_timeout
  @run_timeout
end

#search_attributes ⇒ Object

Returns the value of attribute search_attributes.



742
743
744
# File 'lib/temporalio/workflow.rb', line 742

def search_attributes
  @search_attributes
end

#task_queue ⇒ Object

Returns the value of attribute task_queue.



742
743
744
# File 'lib/temporalio/workflow.rb', line 742

def task_queue
  @task_queue
end

#task_timeout ⇒ Object

Returns the value of attribute task_timeout.



742
743
744
# File 'lib/temporalio/workflow.rb', line 742

def task_timeout
  @task_timeout
end

#workflow ⇒ Object

Returns the value of attribute workflow.



742
743
744
# File 'lib/temporalio/workflow.rb', line 742

def workflow
  @workflow
end