Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrChanged = errors.New("migration flag value changed")

    ErrChanged indicates that a Worker has stopped because its Check result is no longer valid.

    Functions

    func IsTerminal

    func IsTerminal(phase migration.Phase) bool

      IsTerminal returns true when the given phase means a migration has finished (successfully or otherwise).

      func Manifold

      func Manifold(config ManifoldConfig) dependency.Manifold

        Manifold packages a Worker for use in a dependency.Engine.

        func NewWorker

        func NewWorker(config Config) (worker.Worker, error)

          NewWorker creates a *Worker and returns it as a worker.Worker.

          Types

          type Config

          type Config struct {
          	Facade Facade
          	Model  string
          	Check  Predicate
          }

            Config holds the dependencies and configuration for a Worker.

            func (Config) Validate

            func (config Config) Validate() error

              Validate returns an error if the config cannot be expected to drive a functional Worker.

              type Facade

              type Facade interface {
              	Watch(uuid string) (watcher.NotifyWatcher, error)
              	Phase(uuid string) (migration.Phase, error)
              }

                Facade exposes controller functionality required by a Worker.

                func NewFacade

                func NewFacade(apiCaller base.APICaller) (Facade, error)

                  NewFacade creates a *migrationflag.Facade and returns it as a Facade.

                  type ManifoldConfig

                  type ManifoldConfig struct {
                  	APICallerName string
                  	Check         Predicate
                  
                  	NewFacade func(base.APICaller) (Facade, error)
                  	NewWorker func(Config) (worker.Worker, error)
                  }

                    ManifoldConfig holds the dependencies and configuration for a Worker manifold.

                    type Predicate

                    type Predicate func(migration.Phase) bool

                      Predicate defines a predicate.

                      type Worker

                      type Worker struct {
                      	// contains filtered or unexported fields
                      }

                        Worker implements worker.Worker and util.Flag, and exits with ErrChanged whenever the result of its configured Check of the Model's migration phase changes.

                        func New

                        func New(config Config) (*Worker, error)

                          New returns a Worker that tracks the result of the configured Check on the Model's migration phase, as exposed by the Facade.

                          func (*Worker) Check

                          func (w *Worker) Check() bool

                            Check is part of the util.Flag interface.

                            func (*Worker) Kill

                            func (w *Worker) Kill()

                              Kill is part of the worker.Worker interface.

                              func (*Worker) Wait

                              func (w *Worker) Wait() error

                                Wait is part of the worker.Worker interface.