lib/flapjack/gateways/pagerduty.rb in flapjack-0.7.18 vs lib/flapjack/gateways/pagerduty.rb in flapjack-0.7.19
- old
+ new
@@ -1,11 +1,11 @@
#!/usr/bin/env ruby
require 'em-synchrony'
require 'em-synchrony/em-http'
-require 'yajl/json_gem'
+require 'oj'
require 'flapjack/data/entity_check'
require 'flapjack/data/global'
require 'flapjack/redis_pool'
@@ -30,11 +30,11 @@
end
def stop
@logger.info("stopping")
@should_quit = true
- @redis.rpush(@config['queue'], JSON.generate('notification_type' => 'shutdown'))
+ @redis.rpush(@config['queue'], Oj.dump('notification_type' => 'shutdown'))
end
def start
@logger.info("starting")
while not test_pagerduty_connection and not @should_quit do
@@ -54,11 +54,11 @@
events = {}
until @should_quit
@logger.debug("pagerduty gateway is going into blpop mode on #{queue}")
events[queue] = @redis.blpop(queue, 0)
- event = Yajl::Parser.parse(events[queue][1])
+ event = Oj.load(events[queue][1])
type = event['notification_type']
@logger.debug("pagerduty notification event popped off the queue: " + event.inspect)
unless 'shutdown'.eql?(type)
event_id = event['event_id']
entity, check = event_id.split(':', 2)
@@ -132,13 +132,13 @@
@logger.error "Error: test_pagerduty_connection: API returned #{code.to_s} #{results.inspect}"
false
end
def send_pagerduty_event(event)
- options = { :body => Yajl::Encoder.encode(event) }
+ options = { :body => Oj.dump(event) }
http = EM::HttpRequest.new(PAGERDUTY_EVENTS_API_URL).post(options)
- response = Yajl::Parser.parse(http.response)
+ response = Oj.load(http.response)
status = http.response_header.status
@logger.debug "send_pagerduty_event got a return code of #{status.to_s} - #{response.inspect}"
[status, response]
end
@@ -213,11 +213,11 @@
@logger.debug("pagerduty_acknowledged?: query: #{query.inspect}")
@logger.debug("pagerduty_acknowledged?: auth: #{options[:head].inspect}")
http = EM::HttpRequest.new(url).get(options)
begin
- response = Yajl::Parser.parse(http.response)
- rescue Yajl::ParseError
+ response = Oj.load(http.response)
+ rescue Oj::Error
@logger.error("failed to parse json from a post to #{url} ... response headers and body follows...")
return nil
end
status = http.response_header.status
@logger.debug(http.response_header.inspect)