Documentation ¶
Index ¶
Constants ¶
const DefaultParallelism int = 16
DefaultParallelism is the default parallelism used in scheduler.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ErrorChannel ¶
type ErrorChannel struct {
// contains filtered or unexported fields
}
ErrorChannel supports non-blocking send and receive operation to capture error. A maximum of one error is kept in the channel and the rest of the errors sent are ignored, unless the existing error is received and the channel becomes empty again.
func NewErrorChannel ¶
func NewErrorChannel() *ErrorChannel
NewErrorChannel returns a new ErrorChannel.
func (*ErrorChannel) ReceiveError ¶
func (e *ErrorChannel) ReceiveError() error
ReceiveError receives an error from channel without blocking on the receiver.
func (*ErrorChannel) SendError ¶
func (e *ErrorChannel) SendError(err error)
SendError sends an error without blocking the sender.
func (*ErrorChannel) SendErrorWithCancel ¶
func (e *ErrorChannel) SendErrorWithCancel(err error, cancel context.CancelFunc)
SendErrorWithCancel sends an error without blocking the sender and calls cancel function.
type Parallelizer ¶
type Parallelizer struct {
// contains filtered or unexported fields
}
Parallelizer holds the parallelism for scheduler.
func NewParallelizer ¶
func NewParallelizer(p int) Parallelizer
NewParallelizer returns an object holding the parallelism.
func (Parallelizer) Until ¶
func (p Parallelizer) Until(ctx context.Context, pieces int, doWorkPiece workqueue.DoWorkPieceFunc, operation string)
Until is a wrapper around workqueue.ParallelizeUntil to use in scheduling algorithms. A given operation will be a label that is recorded in the goroutine metric.