From 19a6d8f2bb00c8327ad123bd64f6cb4b6c857eab Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Wed, 21 Sep 2022 16:49:48 +0800 Subject: [PATCH] =?UTF-8?q?IP=E5=90=8D=E5=8D=95=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AE=9A=E6=97=B6=E6=B8=85=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/iplibrary/manager_ip_list.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/internal/iplibrary/manager_ip_list.go b/internal/iplibrary/manager_ip_list.go index 5438daf..1fe8a3e 100644 --- a/internal/iplibrary/manager_ip_list.go +++ b/internal/iplibrary/manager_ip_list.go @@ -2,6 +2,7 @@ package iplibrary import ( "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" + teaconst "github.com/TeaOSLab/EdgeNode/internal/const" "github.com/TeaOSLab/EdgeNode/internal/events" "github.com/TeaOSLab/EdgeNode/internal/goman" "github.com/TeaOSLab/EdgeNode/internal/remotelogs" @@ -18,6 +19,10 @@ var SharedIPListManager = NewIPListManager() var IPListUpdateNotify = make(chan bool, 1) func init() { + if teaconst.IsDaemon { + return + } + events.On(events.EventLoaded, func() { goman.New(func() { SharedIPListManager.Start() @@ -26,6 +31,13 @@ func init() { events.On(events.EventQuit, func() { SharedIPListManager.Stop() }) + + var ticker = time.NewTicker(24 * time.Hour) + goman.New(func() { + for range ticker.C { + SharedIPListManager.DeleteExpiredItems() + } + }) } // IPListManager IP名单管理 @@ -186,6 +198,12 @@ func (this *IPListManager) FindList(listId int64) *IPList { return list } +func (this *IPListManager) DeleteExpiredItems() { + if this.db != nil { + _ = this.db.DeleteExpiredItems() + } +} + func (this *IPListManager) processItems(items []*pb.IPItem, fromRemote bool) { var changedLists = map[*IPList]zero.Zero{} for _, item := range items {