module Cadence::Metadata
Constants
- ACTIVITY_TYPE
- DECISION_TYPE
- WORKFLOW_TYPE
Public Class Methods
generate(type, data, domain = nil)
click to toggle source
# File lib/cadence/metadata.rb, line 13 def generate(type, data, domain = nil) case type when ACTIVITY_TYPE activity_metadata_from(data, domain) when DECISION_TYPE decision_metadata_from(data, domain) when WORKFLOW_TYPE workflow_metadata_from(data) else raise InternalError, 'Unsupported metadata type' end end
Private Class Methods
activity_metadata_from(task, domain)
click to toggle source
# File lib/cadence/metadata.rb, line 28 def activity_metadata_from(task, domain) Metadata::Activity.new( domain: domain, id: task.activityId, name: task.activityType.name, task_token: task.taskToken, attempt: task.attempt, workflow_run_id: task.workflowExecution.runId, workflow_id: task.workflowExecution.workflowId, workflow_name: task.workflowType.name, headers: task.header&.fields || {}, timeouts: { start_to_close: task.startToCloseTimeoutSeconds, schedule_to_close: task.scheduleToCloseTimeoutSeconds, heartbeat: task.heartbeatTimeoutSeconds } ) end
decision_metadata_from(task, domain)
click to toggle source
# File lib/cadence/metadata.rb, line 47 def decision_metadata_from(task, domain) Metadata::Decision.new( domain: domain, id: task.startedEventId, task_token: task.taskToken, attempt: task.attempt, workflow_run_id: task.workflowExecution.runId, workflow_id: task.workflowExecution.workflowId, workflow_name: task.workflowType.name ) end
workflow_metadata_from(event)
click to toggle source
# File lib/cadence/metadata.rb, line 59 def workflow_metadata_from(event) Metadata::Workflow.new( name: event.workflowType.name, run_id: event.originalExecutionRunId, attempt: event.attempt, headers: event.header&.fields || {}, timeouts: { execution: event.executionStartToCloseTimeoutSeconds, task: event.taskStartToCloseTimeoutSeconds } ) end