class Cadence::Workflow::Serializer::ScheduleActivity
Public Instance Methods
to_thrift()
click to toggle source
# File lib/cadence/workflow/serializer/schedule_activity.rb, line 8 def to_thrift CadenceThrift::Decision.new( decisionType: CadenceThrift::DecisionType::ScheduleActivityTask, scheduleActivityTaskDecisionAttributes: CadenceThrift::ScheduleActivityTaskDecisionAttributes.new( activityId: object.activity_id.to_s, activityType: CadenceThrift::ActivityType.new(name: object.activity_type), input: JSON.serialize(object.input), domain: object.domain, taskList: CadenceThrift::TaskList.new(name: object.task_list), scheduleToCloseTimeoutSeconds: object.timeouts[:schedule_to_close], scheduleToStartTimeoutSeconds: object.timeouts[:schedule_to_start], startToCloseTimeoutSeconds: object.timeouts[:start_to_close], heartbeatTimeoutSeconds: object.timeouts[:heartbeat], 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/schedule_activity.rb, line 46 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/schedule_activity.rb, line 30 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