sequence

package
v0.37.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 19, 2021 License: GPL-2.0, GPL-3.0 Imports: 3 Imported by: 0

README

sequence - Synchronous Executor

The sequence middleware executes pipes synchronously, starting each pipe only once the previous pipe has completed.

Arguments

Options

The sequence middleware takes an array argument, whose items are called children. The calling pipe is called the parent.

private:
    some-pipe:
        sequence:
            - some-pipe::step-1
            - some-pipe::step-2:
                arg: value
            - some-pipe::step-3

will first execute some-pipe::step-1. After completion, some-pipe::step-2 will be executed with arguments arg: value. Finally, when some-pipe::step-2 is complete, some-pipe::step-3 is executed.

Documentation

Overview

Package sequence provides a middleware that executes pipes synchronously, one after the other

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Middleware

type Middleware struct {
}

Middleware is a synchronous executor

func NewMiddleware

func NewMiddleware() Middleware

NewMiddleware creates a new middleware instance

func (Middleware) Apply

func (sequenceMiddleware Middleware) Apply(
	run *pipeline.Run,
	next func(*pipeline.Run),
	executionContext *middleware.ExecutionContext,
)

Apply is where the middleware's logic resides

It adapts the run based on its slice of the run's arguments. It may also trigger side effects such as executing shell commands or full runs of other pipelines. When done, this function should call next in order to continue unwinding the stack.

func (Middleware) String

func (sequenceMiddleware Middleware) String() string

String is a human-readable description

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL