refactor(cache): streamline subscription cache clearing logic
This commit is contained in:
@@ -3,11 +3,8 @@ package subscription
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/perfect-panel/server/internal/model/node"
|
||||
"github.com/perfect-panel/server/pkg/tool"
|
||||
queue "github.com/perfect-panel/server/queue/types"
|
||||
|
||||
"github.com/perfect-panel/server/pkg/logger"
|
||||
@@ -207,31 +204,8 @@ func (l *CheckSubscriptionLogic) clearServerCache(ctx context.Context, userSubs
|
||||
}
|
||||
|
||||
for sub, _ := range subs {
|
||||
info, err := l.svc.SubscribeModel.FindOne(ctx, sub)
|
||||
if err != nil {
|
||||
logger.Errorw("[CheckSubscription] FindOne subscribe failed", logger.Field("error", err.Error()), logger.Field("subscribe_id", sub))
|
||||
continue
|
||||
}
|
||||
if info != nil && info.Id == sub {
|
||||
var nodes []int64
|
||||
if info.Nodes != "" {
|
||||
nodes = tool.StringToInt64Slice(info.Nodes)
|
||||
}
|
||||
var tag []string
|
||||
if info.NodeTags != "" {
|
||||
tag = strings.Split(info.NodeTags, ",")
|
||||
}
|
||||
|
||||
err = l.svc.NodeModel.ClearNodeCache(ctx, &node.FilterNodeParams{
|
||||
Page: 1,
|
||||
Size: 1000,
|
||||
Tag: tag,
|
||||
ServerId: nodes,
|
||||
})
|
||||
if err != nil {
|
||||
logger.Errorw("[CheckSubscription] ClearNodeCache failed", logger.Field("error", err.Error()), logger.Field("subscribe_id", sub))
|
||||
continue
|
||||
}
|
||||
if err := l.svc.SubscribeModel.ClearCache(ctx, sub); err != nil {
|
||||
logger.Errorw("[CheckSubscription] ClearCache failed", logger.Field("error", err.Error()), logger.Field("subscribe_id", sub))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user