errgroup

package
v1.2.3 Latest Latest
Warning

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

Go to latest
Published: Dec 8, 2022 License: MIT Imports: 3 Imported by: 0

README

errgroup

import "git.dev.cloud.mts.ru/billing/common/pkg/infra/errgroup"

Index

type Group

Group - набор горутин для запуска подзадач некоторой большой задачи с возможностью обработки ошибок каждой из подзадач и возврата наверх их списка в виде `errors.Chain`

type Group struct {
    // contains filtered or unexported fields
}
func New
func New() *Group

New - конструктор пустой группы, юзкейс когда отрабатывают все подзадачи, невзирая на ошибки в некоторых из них или во всех

func WithCancelOnErr
func WithCancelOnErr(ctx context.Context) *Group

WithCancelOnErr - конструктор группы с унаследованным контекстом, юзкейс в котором при возникновении первой ошибки в одной из подзадач - выполнение всех подзадач прерывается

func (*Group) Context
func (g *Group) Context() context.Context

Context - возвращает родительский контекст.

func (*Group) Go
func (g *Group) Go(f func() error)

Go - запуск выполнения подзадачи в группу

func (*Group) Wait
func (g *Group) Wait() error

Wait - ожидание завершения работы подзадач. Возвращает первую ошибку в случае использования кейса прерывания по ошибке и набор ошибок объединенных в `errors.Chain` с помощью And в случае кейса непрерывной работы

func (*Group) WithMaxConcurrency
func (g *Group) WithMaxConcurrency(factor int) *Group

WithMaxConcurrency - устанавливает максимальное количество выполняемых одновременно подзадач

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Group

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

Group - набор горутин для запуска подзадач некоторой большой задачи с возможностью обработки ошибок каждой из подзадач и возврата наверх их списка в виде `errors.Chain`

func New

func New() *Group

New - конструктор пустой группы, юзкейс когда отрабатывают все подзадачи, невзирая на ошибки в некоторых из них или во всех

func WithCancelOnErr

func WithCancelOnErr(ctx context.Context) *Group

WithCancelOnErr - конструктор группы с унаследованным контекстом, юзкейс в котором при возникновении первой ошибки в одной из подзадач - выполнение всех подзадач прерывается

func (*Group) Context

func (g *Group) Context() context.Context

Context - возвращает родительский контекст.

func (*Group) Go

func (g *Group) Go(f func() error)

Go - запуск выполнения подзадачи в группу

func (*Group) Wait

func (g *Group) Wait() error

Wait - ожидание завершения работы подзадач. Возвращает первую ошибку в случае использования кейса прерывания по ошибке и набор ошибок объединенных в `errors.Chain` с помощью And в случае кейса непрерывной работы

func (*Group) WithMaxConcurrency

func (g *Group) WithMaxConcurrency(factor int) *Group

WithMaxConcurrency - устанавливает максимальное количество выполняемых одновременно подзадач

Jump to

Keyboard shortcuts

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