Sha256: 459a563a0d7810ee9ff8b02bda0f18b7dbdff81e176279f42486d21bafda2ebf

Contents?: true

Size: 725 Bytes

Versions: 11

Compression:

Stored size: 725 Bytes

Contents

module Eye::Process::Trigger

  def add_triggers
    if self[:triggers]
      self[:triggers].each do |type, cfg|
        add_trigger(cfg)
      end
    end
  end

  def remove_triggers
    self.triggers = []
  end

  def check_triggers(transition)
    self.triggers.each { |trigger| trigger.notify(transition, state_reason) }
  end

  def retry_start_after_flapping
    return unless unmonitored?
    return unless state_reason.to_s.include?('flapping') # TODO: remove hackety

    schedule :start, Eye::Reason.new(:'retry start after flapping')
    self.flapping_times += 1
  end

private

  def add_trigger(cfg = {})
    trigger = Eye::Trigger.create(current_actor, cfg)
    self.triggers << trigger if trigger
  end

end

Version data entries

11 entries across 11 versions & 2 rubygems

Version Path
eye-0.6.4 lib/eye/process/trigger.rb
eye-0.6.3 lib/eye/process/trigger.rb
eye-0.6.2 lib/eye/process/trigger.rb
eye-0.6.2.pre lib/eye/process/trigger.rb
ace-eye-0.6.5 lib/eye/process/trigger.rb
ace-eye-0.6.4 lib/eye/process/trigger.rb
eye-0.6.1 lib/eye/process/trigger.rb
ace-eye-0.6.3 lib/eye/process/trigger.rb
ace-eye-0.6.2 lib/eye/process/trigger.rb
ace-eye-0.6.1 lib/eye/process/trigger.rb
eye-0.6 lib/eye/process/trigger.rb