Class: Full360::Sequencer::Runner
- Inherits:
-
Object
- Object
- Full360::Sequencer::Runner
- Defined in:
- lib/full360_sequencer/runner.rb
Instance Attribute Summary collapse
-
#config ⇒ Object
readonly
Returns the value of attribute config.
-
#logger ⇒ Object
Returns the value of attribute logger.
-
#sleep_between_checks ⇒ Object
Returns the value of attribute sleep_between_checks.
Instance Method Summary collapse
- #config_from_file(yaml_path) ⇒ Object
- #config_valid?(config) ⇒ Boolean
-
#initialize(sleep_between_checks, logger = nil) ⇒ Full360::Sequencer::Runner
constructor
Initializes the class.
- #run ⇒ Object
- #run_task_class(task_type_string) ⇒ Object
- #task_name(params) ⇒ Object
Constructor Details
#initialize(sleep_between_checks, logger = nil) ⇒ Full360::Sequencer::Runner
Initializes the class
17 18 19 20 |
# File 'lib/full360_sequencer/runner.rb', line 17 def initialize(sleep_between_checks, logger = nil) @sleep_between_checks = sleep_between_checks @logger = logger ||= Logger.new(STDOUT) end |
Instance Attribute Details
#config ⇒ Object (readonly)
Returns the value of attribute config.
11 12 13 |
# File 'lib/full360_sequencer/runner.rb', line 11 def config @config end |
#logger ⇒ Object
Returns the value of attribute logger.
9 10 11 |
# File 'lib/full360_sequencer/runner.rb', line 9 def logger @logger end |
#sleep_between_checks ⇒ Object
Returns the value of attribute sleep_between_checks.
8 9 10 |
# File 'lib/full360_sequencer/runner.rb', line 8 def sleep_between_checks @sleep_between_checks end |
Instance Method Details
#config_from_file(yaml_path) ⇒ Object
22 23 24 |
# File 'lib/full360_sequencer/runner.rb', line 22 def config_from_file(yaml_path) @config = parse_config_file(yaml_path) end |
#config_valid?(config) ⇒ Boolean
63 64 65 66 |
# File 'lib/full360_sequencer/runner.rb', line 63 def config_valid?(config) return false unless config.is_a? Array true end |
#run ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/full360_sequencer/runner.rb', line 35 def run config.each do |params| this_task_name = task_name(params) this_task = run_task_class(params[this_task_name][:type]).new( this_task_name, params[this_task_name] ) this_task.run_task until this_task.completed? sleep sleep_between_checks end raise "task failed error" unless this_task.success end rescue => e logger.error("SEQUENCER_ERROR: #{e.}") e.backtrace.each { |r| logger.error(r) } raise e end |
#run_task_class(task_type_string) ⇒ Object
26 27 28 29 30 31 32 33 |
# File 'lib/full360_sequencer/runner.rb', line 26 def run_task_class(task_type_string) case task_type_string when "ecs_task" Full360::Sequencer::RunECSTask else nil end end |
#task_name(params) ⇒ Object
59 60 61 |
# File 'lib/full360_sequencer/runner.rb', line 59 def task_name(params) params.keys.first end |