]> source.dussan.org Git - rspamd.git/commitdiff
[Enhancement] Add expire to history redis
authorVitaliy Vasilenko <me@vitalvas.com>
Sat, 21 May 2022 13:30:25 +0000 (16:30 +0300)
committerVitaliy Vasilenko <me@vitalvas.com>
Sat, 21 May 2022 13:30:25 +0000 (16:30 +0300)
src/plugins/lua/history_redis.lua

index e669cb919d63b8549ec8a75a3904e3bacbe169e0..d0223dd880709e84e40c6c6d3b054a9b716e3d6a 100644 (file)
@@ -21,6 +21,8 @@ if confighelp then
 redis_history {
   # History key name
   key_prefix = 'rs_history';
+  # History expire in seconds
+  expire = 0;
   # History rows limit
   nrows = 200;
   # Use zstd compression when storing data in redis
@@ -42,6 +44,7 @@ local redis_params
 
 local settings = {
   key_prefix = 'rs_history', -- default key name
+  expire = 0, -- default no expire
   nrows = 200, -- default rows limit
   compress = true, -- use zstd compression when storing data in redis
   subject_privacy = false, -- subject privacy is off
@@ -153,7 +156,12 @@ local function history_save(task)
 
   if ret then
     conn:add_cmd('LTRIM', {prefix, '0', string.format('%d', settings.nrows-1)})
-    conn:add_cmd('SADD', {settings.key_prefix, prefix})
+
+    if settings.expire > 0 then
+      conn:add_cmd('EXPIRE', {prefix, string.format('%d', settings.expire)})
+    else
+      conn:add_cmd('SADD', {settings.key_prefix, prefix})
+    end
   end
 end