From 6fc7fb140da4a66c54bba49ce41a9cff91a0594b Mon Sep 17 00:00:00 2001 From: Steve Kemp Date: Tue, 27 Nov 2012 19:37:00 +0000 Subject: Expire keys sanely. --- debian/changelog | 6 ++++++ lib/custodian/alerts/redis-state.rb | 13 +++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 25fbff0..6f7c697 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +custodian (0.6-2) stable; urgency=low + + * Set an expiry time on the keys we add to redis. + + -- Steve Kemp Tue, 27 Nov 2012 19:33:19 +0000 + custodian (0.6-1) stable; urgency=low * Added telnet protocol-test; some of our switches don't diff --git a/lib/custodian/alerts/redis-state.rb b/lib/custodian/alerts/redis-state.rb index ae62dc3..88b005a 100644 --- a/lib/custodian/alerts/redis-state.rb +++ b/lib/custodian/alerts/redis-state.rb @@ -62,9 +62,13 @@ module Custodian host = @test.target test = @test.get_type - # store the error + # store the error - set an expiry time of 5 minutes @redis.set( "#{host}-#{test}", "ERR") + @redis.expireat( "#{host}-#{test}", Time.now.to_i + 5 * 60 ) + + # Set the reason @redis.set( "#{host}-#{test}-reason", @test.error() ) + @redis.expireat( "#{host}-#{test}-reason", Time.now.to_i + 5 * 60 ) # make sure this alert is discoverable @redis.sadd( "hosts", "#{host}-#{test}" ) @@ -84,9 +88,14 @@ module Custodian host = @test.target test = @test.get_type - # store the OK + # store the OK - set the expiry time of five minutes @redis.set( "#{host}-#{test}", "OK") + @redis.expireat( "#{host}-#{test}", Time.now.to_i + 5 * 60 ) + + # clear the reason @redis.set( "#{host}-#{test}-reason", "") + @redis.expireat( "#{host}-#{test}-reason", Time.now.to_i + 5 * 60 ) + # make sure this alert is discoverable @redis.sadd( "hosts", "#{host}-#{test}" ) -- cgit v1.2.1