Documentation ¶
Index ¶
- func PrepareProbes(probes ...ProbeChecker) func(ctx context.Context) []FinishedProbe
- func PrepareProbesForCheck(probes ...ProbeChecker) func(ctx context.Context) bool
- func WithAppReadyProbe(app *AppHealth) func(ctx context.Context) error
- type AppHealth
- type AppRunner
- func (r *AppRunner) Add(execute func() error, interrupt func(error))
- func (r *AppRunner) AddFirstProcess(ctx context.Context, process Process) (first StartingProcess)
- func (r *AppRunner) AddNextProcess(ctx context.Context, process Process, prev StartingProcess) (next StartingProcess)
- func (r *AppRunner) AddProcess(ctx context.Context, process Process)
- func (r *AppRunner) Run() error
- type Executer
- type FinishedProbe
- type HealthProbe
- type ProbeChecker
- type Process
- type ProcessRunner
- type StartingProcess
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.
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
IsReady - возвращает готово ли приложение к приёму запросов.
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 ¶
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 ¶
AddProcess - добавляет функции запуска и остановки процесса. Запуск будет осуществлён параллельно с другими добавленными процессами.
type Executer ¶ added in v0.24.0
type Executer struct { Execute func() error Interrupt func(error) Starting StartingProcess // OPTIONAL }
Executer - структура выполнения процесса с возможностью его остановки и отправки сообщения, о запуске этого процесса.
func MakeExecuter ¶
MakeExecuter - возвращает функции запуска и остановки процесса. Запуск этого процесса не зависит от других процессов.
func MakeNextExecuter ¶
func MakeNextExecuter(ctx context.Context, process Process, prev StartingProcess) Executer
MakeNextExecuter - возвращает канал, по которому будет передано событие, что процесс запущен. Также возвращает функции запуска и остановки этого процесса. Запуск процесса будет осуществлён только при получении события по каналу chPrev (если канал указан).
type FinishedProbe ¶ added in v0.24.0
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 - возвращает название пробы.
type ProbeChecker ¶ added in v0.24.0
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 ¶
ProcessRunner - запускатель процессов.
type StartingProcess ¶ added in v0.27.0
StartingProcess - содержит информацию о процессе находящемся в момент запуска.