2026-05-29 18:39:32 +08:00
|
|
|
|
package sync
|
|
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
|
"context"
|
|
|
|
|
|
|
|
|
|
|
|
"github.com/gogf/gf/v2/frame/g"
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
// GetSyncPageSize 获取分页大小(默认100)
|
|
|
|
|
|
func GetSyncPageSize(ctx context.Context) int {
|
|
|
|
|
|
ps := g.Cfg().MustGet(ctx, "sync.page_size", 100).Int()
|
|
|
|
|
|
if ps < 1 || ps > 100 {
|
|
|
|
|
|
return 100
|
|
|
|
|
|
}
|
|
|
|
|
|
return ps
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// GetSyncConcurrency 获取并发数(默认5)
|
|
|
|
|
|
func GetSyncConcurrency(ctx context.Context) int {
|
|
|
|
|
|
c := g.Cfg().MustGet(ctx, "sync.concurrency", 5).Int()
|
|
|
|
|
|
if c < 1 {
|
|
|
|
|
|
return 1
|
|
|
|
|
|
}
|
|
|
|
|
|
return c
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// GetSyncInterval 获取同步间隔(分钟,默认60)
|
|
|
|
|
|
func GetSyncInterval(ctx context.Context) int {
|
|
|
|
|
|
m := g.Cfg().MustGet(ctx, "sync.sync_interval_minutes", 60).Int()
|
|
|
|
|
|
if m < 5 {
|
|
|
|
|
|
return 60
|
|
|
|
|
|
}
|
|
|
|
|
|
return m
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// GetRetryCount 获取重试次数(默认3)
|
|
|
|
|
|
func GetRetryCount(ctx context.Context) int {
|
|
|
|
|
|
r := g.Cfg().MustGet(ctx, "sync.retry_count", 3).Int()
|
|
|
|
|
|
if r < 0 {
|
|
|
|
|
|
return 3
|
|
|
|
|
|
}
|
|
|
|
|
|
return r
|
|
|
|
|
|
}
|
2026-06-11 13:06:54 +08:00
|
|
|
|
|
|
|
|
|
|
// GetSyncTimeout 获取单次同步超时时间(分钟,默认120),全量超大表可适当调大
|
|
|
|
|
|
func GetSyncTimeout(ctx context.Context) int {
|
|
|
|
|
|
t := g.Cfg().MustGet(ctx, "sync.sync_timeout_minutes", 120).Int()
|
|
|
|
|
|
if t < 1 {
|
|
|
|
|
|
return 120
|
|
|
|
|
|
}
|
|
|
|
|
|
return t
|
|
|
|
|
|
}
|