53 lines
1.1 KiB
Go
53 lines
1.1 KiB
Go
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
|
||
}
|
||
|
||
// 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
|
||
}
|