fix(仪表盘): 优化CleanupAggregates方法,逐条删除数据以提高错误处理能力
This commit is contained in:
@@ -83,13 +83,21 @@ func (r *dashboardAggregationRepository) UpdateAggregationWatermark(ctx context.
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (r *dashboardAggregationRepository) CleanupAggregates(ctx context.Context, hourlyCutoff, dailyCutoff time.Time) error {
|
func (r *dashboardAggregationRepository) CleanupAggregates(ctx context.Context, hourlyCutoff, dailyCutoff time.Time) error {
|
||||||
_, err := r.sql.ExecContext(ctx, `
|
hourlyCutoffUTC := hourlyCutoff.UTC()
|
||||||
DELETE FROM usage_dashboard_hourly WHERE bucket_start < $1;
|
dailyCutoffUTC := dailyCutoff.UTC()
|
||||||
DELETE FROM usage_dashboard_hourly_users WHERE bucket_start < $1;
|
if _, err := r.sql.ExecContext(ctx, "DELETE FROM usage_dashboard_hourly WHERE bucket_start < $1", hourlyCutoffUTC); err != nil {
|
||||||
DELETE FROM usage_dashboard_daily WHERE bucket_date < $2::date;
|
return err
|
||||||
DELETE FROM usage_dashboard_daily_users WHERE bucket_date < $2::date;
|
}
|
||||||
`, hourlyCutoff.UTC(), dailyCutoff.UTC())
|
if _, err := r.sql.ExecContext(ctx, "DELETE FROM usage_dashboard_hourly_users WHERE bucket_start < $1", hourlyCutoffUTC); err != nil {
|
||||||
return err
|
return err
|
||||||
|
}
|
||||||
|
if _, err := r.sql.ExecContext(ctx, "DELETE FROM usage_dashboard_daily WHERE bucket_date < $1::date", dailyCutoffUTC); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if _, err := r.sql.ExecContext(ctx, "DELETE FROM usage_dashboard_daily_users WHERE bucket_date < $1::date", dailyCutoffUTC); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *dashboardAggregationRepository) CleanupUsageLogs(ctx context.Context, cutoff time.Time) error {
|
func (r *dashboardAggregationRepository) CleanupUsageLogs(ctx context.Context, cutoff time.Time) error {
|
||||||
|
|||||||
Reference in New Issue
Block a user