fix: enable dashboard gift reconcile lookback
This commit is contained in:
parent
358036a847
commit
b2d351d489
@ -86,6 +86,7 @@ type GiftReconcileConfig struct {
|
|||||||
Enabled bool
|
Enabled bool
|
||||||
Interval time.Duration
|
Interval time.Duration
|
||||||
CurrentDayLag time.Duration
|
CurrentDayLag time.Duration
|
||||||
|
LookbackDays int
|
||||||
BatchLimit int
|
BatchLimit int
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -129,8 +130,8 @@ func Load() (Config, error) {
|
|||||||
},
|
},
|
||||||
Mongo: MongoConfig{
|
Mongo: MongoConfig{
|
||||||
Enabled: envBool("MONGO_ENABLED", false),
|
Enabled: envBool("MONGO_ENABLED", false),
|
||||||
URI: env("MONGO_URI", env("LIKEI_MONGO_URI", "")),
|
URI: env("MONGO_URI", env("LIKEI_MONGO_URI", env("LIKEI_CLOUD_MONGO_URI", ""))),
|
||||||
Database: env("MONGO_DATABASE", env("LIKEI_MONGO_DB", "")),
|
Database: env("MONGO_DATABASE", env("LIKEI_MONGO_DB", env("LIKEI_CLOUD_MONGO_DB", ""))),
|
||||||
},
|
},
|
||||||
Redis: RedisConfig{
|
Redis: RedisConfig{
|
||||||
Enabled: envBool("REDIS_ENABLED", false),
|
Enabled: envBool("REDIS_ENABLED", false),
|
||||||
@ -173,6 +174,7 @@ func Load() (Config, error) {
|
|||||||
Enabled: envBool("DASHBOARD_GIFT_RECONCILE_ENABLED", true),
|
Enabled: envBool("DASHBOARD_GIFT_RECONCILE_ENABLED", true),
|
||||||
Interval: envDuration("DASHBOARD_GIFT_RECONCILE_INTERVAL", 10*time.Minute),
|
Interval: envDuration("DASHBOARD_GIFT_RECONCILE_INTERVAL", 10*time.Minute),
|
||||||
CurrentDayLag: envDuration("DASHBOARD_GIFT_RECONCILE_CURRENT_DAY_LAG", 5*time.Minute),
|
CurrentDayLag: envDuration("DASHBOARD_GIFT_RECONCILE_CURRENT_DAY_LAG", 5*time.Minute),
|
||||||
|
LookbackDays: envInt("DASHBOARD_GIFT_RECONCILE_LOOKBACK_DAYS", 2),
|
||||||
BatchLimit: envInt("DASHBOARD_GIFT_RECONCILE_BATCH_LIMIT", 50000),
|
BatchLimit: envInt("DASHBOARD_GIFT_RECONCILE_BATCH_LIMIT", 50000),
|
||||||
},
|
},
|
||||||
Game: GameReconcileConfig{
|
Game: GameReconcileConfig{
|
||||||
@ -232,6 +234,9 @@ func Load() (Config, error) {
|
|||||||
if cfg.Gift.BatchLimit <= 0 {
|
if cfg.Gift.BatchLimit <= 0 {
|
||||||
cfg.Gift.BatchLimit = 50000
|
cfg.Gift.BatchLimit = 50000
|
||||||
}
|
}
|
||||||
|
if cfg.Gift.LookbackDays <= 0 {
|
||||||
|
cfg.Gift.LookbackDays = 1
|
||||||
|
}
|
||||||
if cfg.User.LookbackDays <= 0 {
|
if cfg.User.LookbackDays <= 0 {
|
||||||
cfg.User.LookbackDays = 3
|
cfg.User.LookbackDays = 3
|
||||||
}
|
}
|
||||||
|
|||||||
@ -47,7 +47,13 @@ func (r *MySQLRepository) StartGiftReconciler(ctx context.Context, db *mongo.Dat
|
|||||||
}
|
}
|
||||||
run := func() {
|
run := func() {
|
||||||
since := currentStatDayStart(r.cfg.Dashboard.StatTimezones, r.cfg.Gift.CurrentDayLag)
|
since := currentStatDayStart(r.cfg.Dashboard.StatTimezones, r.cfg.Gift.CurrentDayLag)
|
||||||
|
if r.cfg.Gift.LookbackDays > 1 {
|
||||||
|
since = since.AddDate(0, 0, -(r.cfg.Gift.LookbackDays - 1))
|
||||||
|
}
|
||||||
until := since.AddDate(0, 0, 1)
|
until := since.AddDate(0, 0, 1)
|
||||||
|
if r.cfg.Gift.LookbackDays > 1 {
|
||||||
|
until = since.AddDate(0, 0, r.cfg.Gift.LookbackDays)
|
||||||
|
}
|
||||||
if err := r.RebuildGiftMetricsRange(ctx, db, since, until); err != nil {
|
if err := r.RebuildGiftMetricsRange(ctx, db, since, until); err != nil {
|
||||||
if r.metrics != nil {
|
if r.metrics != nil {
|
||||||
r.metrics.RecordError(err)
|
r.metrics.RecordError(err)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user