mrrun

package
v0.28.4 Latest Latest
Warning

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

Go to latest
Published: Nov 30, 2024 License: Apache-2.0 Imports: 12 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PrepareProbes added in v0.24.0

func PrepareProbes(probes ...ProbeChecker) func(ctx context.Context) []FinishedProbe

PrepareProbes - возвращает функцию с заряженными пробами, для проверки работоспособности сервиса. Сама возвращаемая функция возвращает список проведённых проб с их статусами выполнения.

func PrepareProbesForCheck added in v0.24.0

func PrepareProbesForCheck(probes ...ProbeChecker) func(ctx context.Context) bool

PrepareProbesForCheck - возвращает функцию с заряженными пробами, для проверки работоспособности сервиса. Если хотя бы одна проба не завершится успешно, то возвращаемая функция вернёт false.

func WithAppReadyProbe added in v0.24.0

func WithAppReadyProbe(app *AppHealth) func(ctx context.Context) error

WithAppReadyProbe - возвращает пробу готовности приложения к приёму запросов.

Types

type AppHealth added in v0.24.0

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

AppHealth - компонент управление работоспособностью приложения.

func NewAppHealth added in v0.24.0

func NewAppHealth() *AppHealth

NewAppHealth - создаёт объект AppRunner.

func (*AppHealth) Continue added in v0.24.0

func (a *AppHealth) Continue()

Continue - возобновление приложением приёма запросов.

func (*AppHealth) IsReady added in v0.24.0

func (a *AppHealth) IsReady() bool

IsReady - возвращает готово ли приложение к приёму запросов.

func (*AppHealth) IsStarted added in v0.24.0

func (a *AppHealth) IsStarted() bool

IsStarted - возвращает запущено ли приложение.

func (*AppHealth) Pause added in v0.24.0

func (a *AppHealth) Pause()

Pause - временное прекращение приложением приёма запросов.

func (*AppHealth) StartupCompleted added in v0.24.0

func (a *AppHealth) StartupCompleted()

StartupCompleted - перевод приложения в запущенное состояние.

type AppRunner

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

AppRunner - компонент запуска группы процессов.

func NewAppRunner

func NewAppRunner(runner ProcessRunner) *AppRunner

NewAppRunner - создаёт объект AppRunner.

func (*AppRunner) Add

func (r *AppRunner) Add(execute func() error, interrupt func(error))

Add - добавляет функции запуска и остановки произвольного процесса. Запуск будет осуществлён параллельно с другими добавленными процессами.

func (*AppRunner) AddFirstProcess added in v0.24.0

func (r *AppRunner) AddFirstProcess(ctx context.Context, process Process) (first StartingProcess)

AddFirstProcess - добавляет функции запуска и остановки процесса. Также возвращает канал, по которому будет передано событие, что процесс запущен. Запуск будет осуществлён параллельно с другими добавленными процессами.

func (*AppRunner) AddNextProcess

func (r *AppRunner) AddNextProcess(ctx context.Context, process Process, prev StartingProcess) (next StartingProcess)

AddNextProcess - добавляет функции запуска и остановки процесса. Также возвращает канал, по которому будет передано событие, что процесс запущен. Запуск процесса будет осуществлён только при получении события по каналу chPrev (если канал указан).

func (*AppRunner) AddProcess

func (r *AppRunner) AddProcess(ctx context.Context, process Process)

AddProcess - добавляет функции запуска и остановки процесса. Запуск будет осуществлён параллельно с другими добавленными процессами.

func (*AppRunner) Run

func (r *AppRunner) Run() error

Run - запуск всех добавленных процессов. Возвращает ошибку, если хотя бы работа одного процесса прервалась.

type Executer added in v0.24.0

type Executer struct {
	Execute   func() error
	Interrupt func(error)
	Starting  StartingProcess // OPTIONAL
}

Executer - структура выполнения процесса с возможностью его остановки и отправки сообщения, о запуске этого процесса.

func MakeExecuter

func MakeExecuter(ctx context.Context, process Process) Executer

MakeExecuter - возвращает функции запуска и остановки процесса. Запуск этого процесса не зависит от других процессов.

func MakeNextExecuter

func MakeNextExecuter(ctx context.Context, process Process, prev StartingProcess) Executer

MakeNextExecuter - возвращает канал, по которому будет передано событие, что процесс запущен. Также возвращает функции запуска и остановки этого процесса. Запуск процесса будет осуществлён только при получении события по каналу chPrev (если канал указан).

type FinishedProbe added in v0.24.0

type FinishedProbe struct {
	Caption string
	Status  int
}

FinishedProbe - проба, которая была проведена и содержит статус выполнения.

type HealthProbe added in v0.24.0

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

HealthProbe - обёртка для проверки работоспособности какого либо процесса.

func NewHealthProbe added in v0.24.0

func NewHealthProbe(caption string, check func(ctx context.Context) error, timeout time.Duration) *HealthProbe

NewHealthProbe - создаёт объект AppRunner.

func (*HealthProbe) Caption added in v0.24.0

func (p *HealthProbe) Caption() string

Caption - возвращает название пробы.

func (*HealthProbe) Check added in v0.24.0

func (p *HealthProbe) Check(ctx context.Context) (err error)

Check - метод вызова проверки пробы.

type ProbeChecker added in v0.24.0

type ProbeChecker interface {
	Caption() string
	Check(ctx context.Context) error
}

ProbeChecker - интерфейс проверки какой-либо пробы.

type Process

type Process interface {
	Caption() string
	ReadyTimeout() time.Duration
	Start(ctx context.Context, ready func()) error
	Shutdown(ctx context.Context) error
}

Process - процесс (сервис) который можно запускать и останавливать параллельно с другими процессами.

type ProcessRunner

type ProcessRunner interface {
	Add(execute func() error, interrupt func(error))
	Run() error
}

ProcessRunner - запускатель процессов.

type StartingProcess added in v0.27.0

type StartingProcess struct {
	Caption      string
	ReadyTimeout time.Duration
	Ready        chan struct{}
}

StartingProcess - содержит информацию о процессе находящемся в момент запуска.

Jump to

Keyboard shortcuts

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