diff --git a/lib/App/Netdisco/Worker/Plugin/Expire.pm b/lib/App/Netdisco/Worker/Plugin/Expire.pm index 11c9709d..3ca35685 100644 --- a/lib/App/Netdisco/Worker/Plugin/Expire.pm +++ b/lib/App/Netdisco/Worker/Plugin/Expire.pm @@ -73,6 +73,15 @@ register_worker({ phase => 'main' }, sub { }); } + if (setting('expire_userlog') and setting('expire_userlog') > 0) { + schema('netdisco')->txn_do_locked('admin', 'EXCLUSIVE', sub { + schema('netdisco')->resultset('UserLog')->search({ + creation => \[q/< (now() - ?::interval)/, + (setting('expire_userlog') * 86400)], + })->delete(); + }); + } + # now update stats update_stats(); diff --git a/share/config.yml b/share/config.yml index d08510ae..ae16a8dd 100644 --- a/share/config.yml +++ b/share/config.yml @@ -264,6 +264,7 @@ expire_devices: 60 expire_nodes: 90 expire_nodes_archive: 60 expire_jobs: 14 +expire_userlog: 365 expire_nodeip_freshness: null store_wireless_clients: true store_modules: true