Versions in this module Expand all Collapse all v0 v0.0.2 Mar 12, 2021 Changes in this version + func ExpectedRecurringScheduleJobError(err error) bool + func NewExternalInitiatorManager() *externalInitiatorManager + func NewPromReporter(db *sql.DB, opts ...PrometheusBackend) store.HeadTrackable + func NewRun(job *models.JobSpec, initiator *models.Initiator, currentHeight *big.Int, ...) (*models.JobRun, []*adapters.PipelineAdapter) + func NewStoreReaper(store *store.Store) utils.SleeperTask + func ReceiveLogRequest(runManager RunManager, le models.LogRequest) + func ValidateBridgeType(bt *models.BridgeTypeRequest, store *store.Store) error + func ValidateBridgeTypeNotExist(bt *models.BridgeTypeRequest, store *store.Store) error + func ValidateExternalInitiator(exi *models.ExternalInitiatorRequest, store *store.Store) error + func ValidateInitiator(i models.Initiator, j models.JobSpec, store *store.Store) error + func ValidateJob(j models.JobSpec, store *store.Store) error + func ValidateRun(run *models.JobRun, contractCost *assets.Link) + func ValidateServiceAgreement(sa models.ServiceAgreement, store *store.Store) error + type BalanceMonitor interface + GetEthBalance func(gethCommon.Address) *assets.Eth + Stop func() error + func NewBalanceMonitor(store *store.Store) BalanceMonitor + type Cron interface + AddFunc func(string, func()) (cron.EntryID, error) + Start func() + Stop func() context.Context + type GasUpdater interface + RollingBlockHistory func() []*types.Block + func NewGasUpdater(store *store.Store) GasUpdater + type HeadTracker struct + func NewHeadTracker(store *strpkg.Store, callbacks []strpkg.HeadTrackable, ...) *HeadTracker + func (ht *HeadTracker) Connected() bool + func (ht *HeadTracker) GetChainWithBackfill(ctx context.Context, head models.Head, depth uint) (models.Head, error) + func (ht *HeadTracker) HighestSeenHead() *models.Head + func (ht *HeadTracker) Save(h models.Head) error + func (ht *HeadTracker) Start() error + func (ht *HeadTracker) Stop() error + type InitiatorSubscription struct + Initiator models.Initiator + func NewInitiatorSubscription(initr models.Initiator, client eth.Client, runManager RunManager, ...) (InitiatorSubscription, error) + type JobSpecNotice struct + JobID models.JobID + Params models.JSON + Type string + func NewJobSpecNotice(initiator models.Initiator, js models.JobSpec) (*JobSpecNotice, error) + type JobSubscriber interface + AddJob func(job models.JobSpec, bn *models.Head) error + Jobs func() []models.JobSpec + RemoveJob func(ID models.JobID) error + Stop func() error + func NewJobSubscriber(store *store.Store, runManager RunManager) JobSubscriber + type JobSubscription struct + Job models.JobSpec + func StartJobSubscription(job models.JobSpec, head *models.Head, store *strpkg.Store, ...) (JobSubscription, error) + func (js JobSubscription) Unsubscribe() + type ManagedSubscription struct + func NewManagedSubscription(logSubscriber eth.Client, filter ethereum.FilterQuery, ...) (*ManagedSubscription, error) + func (sub ManagedSubscription) Unsubscribe() + type NullBalanceMonitor struct + func (*NullBalanceMonitor) Connect(head *models.Head) error + func (*NullBalanceMonitor) Disconnect() + func (*NullBalanceMonitor) GetEthBalance(gethCommon.Address) *assets.Eth + func (*NullBalanceMonitor) OnNewLongestChain(ctx context.Context, head models.Head) + func (*NullBalanceMonitor) Stop() error + type NullExternalInitiatorManager struct + func (NullExternalInitiatorManager) DeleteJob(db *gorm.DB, jobID models.JobID) error + func (NullExternalInitiatorManager) Notify(models.JobSpec, *store.Store) error + type OneTime struct + Clock utils.Afterer + RunManager RunManager + Store *store.Store + func (ot *OneTime) AddJob(job models.JobSpec) + func (ot *OneTime) RunJobAt(initiator models.Initiator, job models.JobSpec) + func (ot *OneTime) Start() error + func (ot *OneTime) Stop() + type PrometheusBackend interface + SetMaxUnconfirmedBlocks func(int64) + SetPipelineRunsQueued func(n int) + SetPipelineTaskRunsQueued func(n int) + SetUnconfirmedTransactions func(int64) + type Recurring struct + Clock utils.Nower + Cron Cron + func NewRecurring(runManager RunManager) *Recurring + func (r *Recurring) AddJob(job models.JobSpec) + func (r *Recurring) Start() error + func (r *Recurring) Stop() + type RecurringScheduleJobError struct + func (err RecurringScheduleJobError) Error() string + type RunExecutor interface + Execute func(uuid.UUID) error + func NewRunExecutor(store *store.Store, statsPusher synchronization.StatsPusher) RunExecutor + type RunManager interface + Cancel func(runID uuid.UUID) (*models.JobRun, error) + Create func(jobSpecID models.JobID, initiator *models.Initiator, creationHeight *big.Int, ...) (*models.JobRun, error) + CreateErrored func(jobSpecID models.JobID, initiator models.Initiator, err error) (*models.JobRun, error) + ResumeAllInProgress func() error + ResumeAllPendingConnection func() error + ResumeAllPendingNextBlock func(currentBlockHeight *big.Int) error + ResumePendingBridge func(runID uuid.UUID, input models.BridgeRunResult) error + func NewRunManager(runQueue RunQueue, config orm.ConfigReader, orm *orm.ORM, ...) RunManager + type RunQueue interface + Run func(uuid.UUID) + Start func() error + Stop func() + WorkerCount func() int + func NewRunQueue(runExecutor RunExecutor) RunQueue + type Scheduler struct + OneTime *OneTime + Recurring *Recurring + func NewScheduler(store *store.Store, runManager RunManager) *Scheduler + func (s *Scheduler) AddJob(job models.JobSpec) + func (s *Scheduler) Start() error + func (s *Scheduler) Stop() + type Unsubscriber interface + Unsubscribe func()