From b787ed2b126bd382e94058e39fb6a2fb77c316fe Mon Sep 17 00:00:00 2001 From: lukas Date: Fri, 26 Feb 2016 00:18:46 +0100 Subject: [PATCH] return obvious fake info when INFO is disabled --- lib/sidekiq.rb | 26 ++++++++++++++++++++------ test/test_sidekiq.rb | 1 - 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/lib/sidekiq.rb b/lib/sidekiq.rb index c660f864..163647ab 100644 --- a/lib/sidekiq.rb +++ b/lib/sidekiq.rb @@ -37,6 +37,14 @@ module Sidekiq 'queue' => 'default' } + FAKE_INFO = { + "redis_version" => "9.9.9", + "uptime_in_days" => "9999", + "connected_clients" => "9999", + "used_memory_human" => "9P", + "used_memory_peak_human" => "9P" + }.freeze + def self.❨╯°□°❩╯︵┻━┻ puts "Calm down, yo." end @@ -92,12 +100,18 @@ module Sidekiq def self.redis_info redis do |conn| - # admin commands can't go through redis-namespace starting - # in redis-namespace 2.0 - if conn.respond_to?(:namespace) - conn.redis.info - else - conn.info + begin + # admin commands can't go through redis-namespace starting + # in redis-namespace 2.0 + if conn.respond_to?(:namespace) + conn.redis.info + else + conn.info + end + rescue Redis::CommandError => ex + #2850 return fake version when INFO command has (probably) been renamed + raise unless ex.message =~ /unknown command/ + FAKE_INFO end end end diff --git a/test/test_sidekiq.rb b/test/test_sidekiq.rb index a2f9529f..1ca164fb 100644 --- a/test/test_sidekiq.rb +++ b/test/test_sidekiq.rb @@ -101,7 +101,6 @@ class TestSidekiq < Sidekiq::Test it 'calls the INFO command which returns at least redis_version' do output = Sidekiq.redis_info assert_includes output.keys, "redis_version" - assert_includes output.keys, "uptime_in_days" end end end