diff --git a/Changes.md b/Changes.md index 3b122f4c8c..a55d44e7d8 100644 --- a/Changes.md +++ b/Changes.md @@ -5,6 +5,7 @@ HEAD --------- +- Fix: Do not connect to redis at ruby vm exit when not needed. [#4501] - Remove Redis connection naming [#4479] 6.0.6 diff --git a/lib/sidekiq/launcher.rb b/lib/sidekiq/launcher.rb index 11f3d90dc4..2c7a95e9e8 100644 --- a/lib/sidekiq/launcher.rb +++ b/lib/sidekiq/launcher.rb @@ -100,15 +100,17 @@ def self.flush_stats nowdate = Time.now.utc.strftime("%Y-%m-%d") fails = Processor::FAILURE.reset procd = Processor::PROCESSED.reset - Sidekiq.redis do |conn| - conn.pipelined do - conn.incrby("stat:processed", procd) - conn.incrby("stat:processed:#{nowdate}", procd) - conn.expire("stat:processed:#{nowdate}", STATS_TTL) + if fails + procd > 0 + Sidekiq.redis do |conn| + conn.pipelined do + conn.incrby("stat:processed", procd) + conn.incrby("stat:processed:#{nowdate}", procd) + conn.expire("stat:processed:#{nowdate}", STATS_TTL) - conn.incrby("stat:failed", fails) - conn.incrby("stat:failed:#{nowdate}", fails) - conn.expire("stat:failed:#{nowdate}", STATS_TTL) + conn.incrby("stat:failed", fails) + conn.incrby("stat:failed:#{nowdate}", fails) + conn.expire("stat:failed:#{nowdate}", STATS_TTL) + end end end end