feat(api): add log settings management with auto-clear and clear days configuration
This commit is contained in:
@@ -199,7 +199,7 @@ func (l *CheckSubscriptionLogic) sendTrafficNotify(ctx context.Context, subs []i
|
||||
}
|
||||
|
||||
func (l *CheckSubscriptionLogic) clearServerCache(ctx context.Context, userSubs ...*user.Subscribe) {
|
||||
var subs map[int64]bool
|
||||
subs := make(map[int64]bool)
|
||||
for _, sub := range userSubs {
|
||||
if _, ok := subs[sub.SubscribeId]; !ok {
|
||||
subs[sub.SubscribeId] = true
|
||||
|
||||
@@ -166,10 +166,11 @@ func (l *StatLogic) ProcessTask(ctx context.Context, _ *asynq.Task) error {
|
||||
}
|
||||
|
||||
// Delete old traffic logs
|
||||
err = tx.WithContext(ctx).Model(&traffic.TrafficLog{}).Where("created_at <= ?", end).Delete(&traffic.TrafficLog{}).Error
|
||||
if err != nil {
|
||||
logger.Errorf("[Traffic Stat Queue] Delete server traffic log failed: %v", err.Error())
|
||||
if l.svc.Config.Log.AutoClear {
|
||||
err = tx.WithContext(ctx).Model(&traffic.TrafficLog{}).Where("created_at <= ?", end.AddDate(0, 0, int(-l.svc.Config.Log.ClearDays))).Delete(&traffic.TrafficLog{}).Error
|
||||
if err != nil {
|
||||
logger.Errorf("[Traffic Stat Queue] Delete server traffic log failed: %v", err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user