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)