Sha256: ce1fa1299651dff90bce0e279061d9575e8337d124f3135b6d50da0e5ece6768

Contents?: true

Size: 773 Bytes

Versions: 1

Compression:

Stored size: 773 Bytes

Contents

module Ring
class SQA
class Alarm

  class Exec
    def send opts
      stdout = JSON.pretty_generate( {
        :alarm_buffer => opts[:alarm_buffer].exceeding_nodes,
        :nodes        => opts[:nodes].all,
        :short        => opts[:short],
        :long         => opts[:long],
        :status       => opts[:status],
      })
      exec stdout, CFG.exec.command, CFG.exec.arguments?
    rescue => error
      Log.error "Exec raised '#{error.class}' with message '#{error.message}'"
    end

    private

    def exec write, cmd, args
      args = '' unless args
      args = args.split ' '
      Open3.popen3(cmd, *args) do |stdin, stdout, stderr, wait_thr|
        stdin.write write
        stdin.close
        wait_thr.join
      end
    end
  end

end
end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ring-sqa-0.1.0 lib/ring/sqa/alarm/exec.rb