Documentation
¶
Index ¶
- Constants
- Variables
- func ConnectorScopeFromContext(ctx context.Context) (connectorKind, sourceName string, ok bool)
- func IsForcedSync(ctx context.Context) bool
- func ListenForSyncJobSignals(ctx context.Context, pool *pgxpool.Pool, channel string, out chan<- struct{}) error
- func NewSyncJobStore(db gen.DBTX) syncJobStore
- func SyncJobConsumerScopeNameForMode(mode registry.RunMode) string
- func SyncJobLaneForMode(mode registry.RunMode) string
- func SyncJobNotifyChannelForMode(mode registry.RunMode) string
- func WithConnectorScope(ctx context.Context, connectorKind, sourceName string) context.Context
- func WithForcedSync(ctx context.Context) context.Context
- type DBRunner
- func (r *DBRunner) EnableDiscoveryMetricsRefresh()
- func (r *DBRunner) PlannedConnectorScopes(ctx context.Context) ([]TriggerRequest, error)
- func (r *DBRunner) Prepare(ctx context.Context) error
- func (r *DBRunner) RunOnce(ctx context.Context) error
- func (r *DBRunner) SetGlobalEvalMode(mode string)
- func (r *DBRunner) SetLockManager(m LockManager)
- func (r *DBRunner) SetReadModelConfig(cfg readmodels.RefreshConfig)
- func (r *DBRunner) SetReporter(reporter registry.Reporter)
- func (r *DBRunner) SetRunMode(mode registry.RunMode)
- func (r *DBRunner) SetRunPolicy(policy RunPolicy)
- type Lock
- type LockManager
- type LockManagerConfig
- type LogReporter
- type Orchestrator
- func (o *Orchestrator) AddIntegration(i registry.Integration) error
- func (o *Orchestrator) RunOnce(ctx context.Context) error
- func (o *Orchestrator) SetGlobalEvalMode(mode string)
- func (o *Orchestrator) SetLockManager(m LockManager)
- func (o *Orchestrator) SetReadModelConfig(cfg readmodels.RefreshConfig)
- func (o *Orchestrator) SetReporter(r registry.Reporter)
- func (o *Orchestrator) SetRunMode(mode registry.RunMode)
- type ResyncQueueRunner
- type RunPolicy
- type Runner
- func NewBlockingRunOnceLockRunnerWithScope(locks LockManager, inner Runner, scopeName string) Runner
- func NewCompositeRunner(runners ...Runner) Runner
- func NewResyncQueueRunnerWithPlanner(dbStore syncJobStore, planner manualSyncPlanner, mode registry.RunMode) Runner
- func NewTryRunOnceLockRunnerWithScope(locks LockManager, inner Runner, scopeName string) Runner
- type Scheduler
- type SyncJobConsumer
- type SyncJobConsumerConfig
- type TriggerRequest
Constants ¶
View Source
const ( RunOnceScopeNameFull = "runonce_full" RunOnceScopeNameDiscovery = "runonce_discovery" )
View Source
const ( LockModeLease = "lease" LockModeAdvisory = "advisory" )
Variables ¶
View Source
var ErrNoConnectorsDue = errors.New("no connectors are due to sync")
ErrNoConnectorsDue is returned when all enabled connectors are deferred by a run policy (interval/backoff) and there is no work to do.
View Source
var ErrNoEnabledConnectors = errors.New("no enabled connectors are configured")
View Source
var ErrSyncAlreadyRunning = errors.New("sync is already running")
ErrSyncAlreadyRunning is returned by a try-lock runner when another sync pass is already in progress.
View Source
var ErrSyncQueued = errors.New("sync queued")
ErrSyncQueued is returned when a sync request is accepted but will be processed asynchronously by the worker.
Functions ¶
func ConnectorScopeFromContext ¶ added in v0.4.3
func IsForcedSync ¶ added in v0.2.0
func ListenForSyncJobSignals ¶ added in v0.4.8
func NewSyncJobStore ¶ added in v0.4.8
func SyncJobConsumerScopeNameForMode ¶ added in v0.4.8
func SyncJobLaneForMode ¶ added in v0.4.8
func SyncJobNotifyChannelForMode ¶ added in v0.4.8
func WithConnectorScope ¶ added in v0.4.3
Types ¶
type DBRunner ¶
type DBRunner struct {
// contains filtered or unexported fields
}
func NewDBRunner ¶
func NewDBRunner(pool *pgxpool.Pool, reg *registry.ConnectorRegistry) *DBRunner
func (*DBRunner) EnableDiscoveryMetricsRefresh ¶ added in v0.4.11
func (r *DBRunner) EnableDiscoveryMetricsRefresh()
func (*DBRunner) PlannedConnectorScopes ¶ added in v0.4.8
func (r *DBRunner) PlannedConnectorScopes(ctx context.Context) ([]TriggerRequest, error)
func (*DBRunner) SetGlobalEvalMode ¶ added in v0.2.0
func (*DBRunner) SetLockManager ¶ added in v0.2.2
func (r *DBRunner) SetLockManager(m LockManager)
func (*DBRunner) SetReadModelConfig ¶ added in v0.4.11
func (r *DBRunner) SetReadModelConfig(cfg readmodels.RefreshConfig)
func (*DBRunner) SetReporter ¶
func (*DBRunner) SetRunMode ¶ added in v0.4.0
func (*DBRunner) SetRunPolicy ¶ added in v0.2.0
type LockManager ¶ added in v0.2.2
type LockManager interface {
TryAcquire(ctx context.Context, scopeKind, scopeName string) (Lock, bool, error)
Acquire(ctx context.Context, scopeKind, scopeName string) (Lock, error)
}
func NewLockManager ¶ added in v0.2.2
func NewLockManager(pool *pgxpool.Pool, cfg LockManagerConfig) (LockManager, error)
type LockManagerConfig ¶ added in v0.2.2
type LogReporter ¶
type LogReporter struct {
Logger *slog.Logger
ProgressInterval time.Duration
ProgressPercentStep int64
// contains filtered or unexported fields
}
LogReporter is a simple reporter that logs events to the default slog logger.
func (*LogReporter) Report ¶
func (r *LogReporter) Report(e registry.Event)
type Orchestrator ¶
type Orchestrator struct {
// contains filtered or unexported fields
}
func NewOrchestrator ¶
func NewOrchestrator(pool *pgxpool.Pool, reg *registry.ConnectorRegistry) *Orchestrator
func (*Orchestrator) AddIntegration ¶
func (o *Orchestrator) AddIntegration(i registry.Integration) error
func (*Orchestrator) SetGlobalEvalMode ¶ added in v0.2.0
func (o *Orchestrator) SetGlobalEvalMode(mode string)
func (*Orchestrator) SetLockManager ¶ added in v0.2.2
func (o *Orchestrator) SetLockManager(m LockManager)
func (*Orchestrator) SetReadModelConfig ¶ added in v0.4.11
func (o *Orchestrator) SetReadModelConfig(cfg readmodels.RefreshConfig)
func (*Orchestrator) SetReporter ¶
func (o *Orchestrator) SetReporter(r registry.Reporter)
func (*Orchestrator) SetRunMode ¶ added in v0.4.0
func (o *Orchestrator) SetRunMode(mode registry.RunMode)
type ResyncQueueRunner ¶ added in v0.4.8
type ResyncQueueRunner struct {
// contains filtered or unexported fields
}
type Runner ¶
Runner executes a single sync pass.
func NewBlockingRunOnceLockRunnerWithScope ¶ added in v0.4.0
func NewBlockingRunOnceLockRunnerWithScope(locks LockManager, inner Runner, scopeName string) Runner
func NewCompositeRunner ¶ added in v0.4.0
func NewResyncQueueRunnerWithPlanner ¶ added in v0.4.8
func NewTryRunOnceLockRunnerWithScope ¶ added in v0.4.0
func NewTryRunOnceLockRunnerWithScope(locks LockManager, inner Runner, scopeName string) Runner
type Scheduler ¶
type Scheduler struct {
Runner Runner
Interval time.Duration
Trigger <-chan TriggerRequest
}
type SyncJobConsumer ¶ added in v0.4.8
type SyncJobConsumer struct {
// contains filtered or unexported fields
}
func NewSyncJobConsumer ¶ added in v0.4.8
func NewSyncJobConsumer(store syncJobStore, locks LockManager, runner Runner, cfg SyncJobConsumerConfig) *SyncJobConsumer
type SyncJobConsumerConfig ¶ added in v0.4.8
type TriggerRequest ¶ added in v0.4.3
type TriggerRequest struct {
ConnectorKind string `json:"connector_kind,omitempty"`
SourceName string `json:"source_name,omitempty"`
}
func (TriggerRequest) HasConnectorScope ¶ added in v0.4.3
func (r TriggerRequest) HasConnectorScope() bool
func (TriggerRequest) Normalized ¶ added in v0.4.3
func (r TriggerRequest) Normalized() TriggerRequest
Click to show internal directories.
Click to hide internal directories.