Sha256: 4d9f5f63765349ddd3bb3e96cb5375e34bd6eedcb376b4ba556415799cc0ac78

Contents?: true

Size: 752 Bytes

Versions: 7

Compression:

Stored size: 752 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)
    return if unmonitored?
    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

7 entries across 7 versions & 2 rubygems

Version Path
reel-eye-0.5.2.1 lib/eye/process/trigger.rb
reel-eye-0.5.2 lib/eye/process/trigger.rb
eye-0.5.2 lib/eye/process/trigger.rb
reel-eye-0.5.1 lib/eye/process/trigger.rb
eye-0.5.1 lib/eye/process/trigger.rb
reel-eye-0.5 lib/eye/process/trigger.rb
eye-0.5 lib/eye/process/trigger.rb