class Cadence::Workflow
Public Class Methods
execute_in_context(context, input)
click to toggle source
# File lib/cadence/workflow.rb, line 10 def self.execute_in_context(context, input) Cadence::ThreadLocalContext.set(context) workflow = new(context) result = workflow.execute(*input) context.complete(result) rescue StandardError, ScriptError => error Cadence.logger.error("Workflow execution failed with: #{error.inspect}") Cadence.logger.debug(error.backtrace.join("\n")) context.fail(error.class.name, error.message) end
new(context)
click to toggle source
# File lib/cadence/workflow.rb, line 24 def initialize(context) @context = context end
Public Instance Methods
execute()
click to toggle source
# File lib/cadence/workflow.rb, line 28 def execute raise NotImplementedError, '#execute method must be implemented by a subclass' end
Private Instance Methods
logger()
click to toggle source
# File lib/cadence/workflow.rb, line 38 def logger workflow.logger end
workflow()
click to toggle source
# File lib/cadence/workflow.rb, line 34 def workflow @context end