class Cadence::Workflow::Serializer::StartChildWorkflow
Public Instance Methods
to_thrift()
click to toggle source
# File lib/cadence/workflow/serializer/start_child_workflow.rb, line 8 def to_thrift CadenceThrift::Decision.new( decisionType: CadenceThrift::DecisionType::StartChildWorkflowExecution, startChildWorkflowExecutionDecisionAttributes: CadenceThrift::StartChildWorkflowExecutionDecisionAttributes.new( domain: object.domain, workflowId: object.workflow_id.to_s, workflowType: CadenceThrift::WorkflowType.new(name: object.workflow_type), taskList: CadenceThrift::TaskList.new(name: object.task_list), input: JSON.serialize(object.input), executionStartToCloseTimeoutSeconds: object.timeouts[:execution], taskStartToCloseTimeoutSeconds: object.timeouts[:task], retryPolicy: serialize_retry_policy(object.retry_policy), header: serialize_headers(object.headers) ) ) end
Private Instance Methods
serialize_headers(headers)
click to toggle source
# File lib/cadence/workflow/serializer/start_child_workflow.rb, line 44 def serialize_headers(headers) return unless headers CadenceThrift::Header.new(fields: object.headers) end
serialize_retry_policy(retry_policy)
click to toggle source
# File lib/cadence/workflow/serializer/start_child_workflow.rb, line 28 def serialize_retry_policy(retry_policy) return unless retry_policy non_retriable_errors = Array(retry_policy.non_retriable_errors).map(&:name) options = { initialIntervalInSeconds: retry_policy.interval, backoffCoefficient: retry_policy.backoff, maximumIntervalInSeconds: retry_policy.max_interval, maximumAttempts: retry_policy.max_attempts, nonRetriableErrorReasons: non_retriable_errors, expirationIntervalInSeconds: retry_policy.expiration_interval }.compact CadenceThrift::RetryPolicy.new(options) end