class AppMonit::Event
Public Class Methods
client()
click to toggle source
# File lib/app_monit/event.rb, line 38 def self.client Http end
create(*args)
click to toggle source
# File lib/app_monit/event.rb, line 5 def self.create(*args) create!(*args) rescue Http::Error false rescue Timeout::Error, Errno::EINVAL, Errno::ECONNRESET, EOFError, Net::HTTPBadResponse, Net::HTTPHeaderSyntaxError, Net::ProtocolError, Errno::ETIMEDOUT, Errno::ECONNREFUSED => error raise error unless AppMonit::Config.fail_silent false end
create!(name, data_hash = {})
click to toggle source
# File lib/app_monit/event.rb, line 15 def self.create!(name, data_hash = {}) return false unless AppMonit::Config.enabled? created_at = data_hash.delete(:created_at) || Time.now.utc message = { created_at: created_at, name: name } message[:api_key] = data_hash.delete(:api_key) if data_hash[:api_key] message[:environment] = data_hash.delete(:environment) if data_hash[:environment] message[:payload] = data_hash post(message) end
post(message)
click to toggle source
# File lib/app_monit/event.rb, line 29 def self.post(message) if AppMonit::Config.async? AppMonit.logger.debug("[Event] push: #{message}") AppMonit::Worker.instance.push(message) else client.post('/v1/events', message) end end