Sha256: 345f13012389e713cc29b491107fdc8a9610d55af618134d628d900dd3cde9d2

Contents?: true

Size: 821 Bytes

Versions: 1

Compression:

Stored size: 821 Bytes

Contents

require 'chicanery/persistence'
require 'chicanery/servers'
require 'chicanery/handlers'
require 'chicanery/state_comparison'

module Chicanery
  include Persistence
  include Servers
  include Handlers
  include StateComparison

  VERSION = "0.0.4"

  def execute *args
    load args.shift
    poll_period = args.shift
    loop do
      previous_state = restore
      current_state = {
        servers: {}
      }
      servers.each do |server|
        current_jobs = server.jobs
        compare_jobs current_jobs, previous_state[:servers][server.name] if previous_state[:servers]
        current_state[:servers][server.name] = current_jobs
      end
      run_handlers.each {|handler| handler.call current_state }
      persist current_state
      break unless poll_period
      sleep poll_period.to_i
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
chicanery-0.0.4 lib/chicanery.rb