Documentation ¶
Index ¶
- Constants
- Variables
- type BatchOption
- type BatchSettings
- type Client
- type Option
- func WithBatchOptions(options ...BatchOption) Option
- func WithConcurrency(concurrency int) Option
- func WithInvocationID(invocationID string) Option
- func WithLogger(logger zerolog.Logger) Option
- func WithMaxDepth(maxDepth uint64) Option
- func WithSingleNestedTableMaxConcurrency(concurrency int64) Option
- func WithSingleResourceMaxConcurrency(concurrency int64) Option
- func WithStrategy(strategy Strategy) Option
- func WithoutBatching() Option
- type Scheduler
- type Strategies
- type Strategy
- type SyncOption
Constants ¶
View Source
const ( DefaultBatchMaxRows = 50 DefaultBatchTimeout = 5 * time.Second )
View Source
const ( DefaultSingleResourceMaxConcurrency = 5 DefaultSingleNestedTableMaxConcurrency = 5 DefaultConcurrency = 50000 DefaultMaxDepth = 4 )
Variables ¶
View Source
var AllStrategies = Strategies{StrategyDFS, StrategyRoundRobin, StrategyShuffle, StrategyShuffleQueue}
View Source
var AllStrategyNames = [...]string{
StrategyDFS: "dfs",
StrategyRoundRobin: "round-robin",
StrategyShuffle: "shuffle",
StrategyShuffleQueue: "shuffle-queue",
}
View Source
var ErrNoTables = errors.New("no tables specified for syncing, review `tables` and `skip_tables` in your config and specify at least one table to sync")
Functions ¶
This section is empty.
Types ¶
type BatchOption ¶ added in v4.46.0
type BatchOption func(settings *BatchSettings)
func WithBatchMaxRows ¶ added in v4.46.0
func WithBatchMaxRows(rows int) BatchOption
func WithBatchTimeout ¶ added in v4.46.0
func WithBatchTimeout(timeout time.Duration) BatchOption
type BatchSettings ¶ added in v4.46.0
type Option ¶
type Option func(*Scheduler)
func WithBatchOptions ¶ added in v4.46.0
func WithBatchOptions(options ...BatchOption) Option
func WithConcurrency ¶
func WithInvocationID ¶ added in v4.49.0
func WithLogger ¶
func WithMaxDepth ¶
func WithSingleNestedTableMaxConcurrency ¶ added in v4.21.0
func WithSingleResourceMaxConcurrency ¶ added in v4.23.0
func WithStrategy ¶
func WithoutBatching ¶ added in v4.48.0
func WithoutBatching() Option
type Scheduler ¶
type Scheduler struct {
// contains filtered or unexported fields
}
func NewScheduler ¶
func (*Scheduler) Sync ¶
func (s *Scheduler) Sync(ctx context.Context, client schema.ClientMeta, tables schema.Tables, res chan<- message.SyncMessage, opts ...SyncOption) error
type Strategies ¶
type Strategies []Strategy
func (Strategies) String ¶
func (s Strategies) String() string
type Strategy ¶
type Strategy int
func StrategyForName ¶
func (Strategy) JSONSchema ¶ added in v4.12.0
func (Strategy) JSONSchema() *jsonschema.Schema
func (*Strategy) MarshalJSON ¶
MarshalJSON implements json.Marshaler.
func (*Strategy) UnmarshalJSON ¶
UnmarshalJSON implements json.Unmarshaler.
type SyncOption ¶
type SyncOption func(*syncClient)
func WithShard ¶ added in v4.63.0
func WithShard(num int32, total int32) SyncOption
func WithSyncDeterministicCQID ¶
func WithSyncDeterministicCQID(deterministicCQID bool) SyncOption
Source Files ¶
Click to show internal directories.
Click to hide internal directories.