Sha256: e491948a732576383f60a1a09f35ae8b2e21a5fb930ffb275b2d694d28921649

Contents?: true

Size: 839 Bytes

Versions: 2

Compression:

Stored size: 839 Bytes

Contents

module Rundock
  module Operation
    class Task < Base
      def run(backend, attributes = {})
        @instruction.each do |i|
          task_set = i.split(' ')
          task_name = task_set.first
          attributes[:task_args] = task_set.slice(1..-1) if task_set.length > 1
          unless attributes[:task_info].key?(task_name.to_sym)
            Logger.warn("task not found and ignored: #{task_name}")
            next
          end

          scenario = Rundock::Builder::ScenarioBuilder.new(nil, nil).build_task(
            attributes[:task_info][task_name.to_sym], backend, Rundock::Attribute::NodeAttribute.new(attributes)
          )

          Logger.info("start task: #{task_name}")

          Logger.formatter.rec_lock

          scenario.run
          Logger.formatter.rec_unlock
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rundock-1.0.4 lib/rundock/operation/task.rb
rundock-1.0.2 lib/rundock/operation/task.rb