mgo

package
v0.5.0-beta2.3 Latest Latest
Warning

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

Go to latest
Published: Oct 9, 2019 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BreakerOption

type BreakerOption struct {
	AbnormalLimiter *rate.Limiter
	RecoveryWaitMax time.Duration
	RecoveryWaitMin time.Duration
}

type DbAgent

type DbAgent interface {
	GetDB(ctx context.Context) (db *mongo.Database, err error)
	client.Recoverable
	client.Agent
}

func NewMajorAgent

func NewMajorAgent(option MajorOption) (DbAgent, error)

type DbClient

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

func New

func New(agent DbAgent, option Option) *DbClient

func (*DbClient) Close

func (mgo *DbClient) Close(ctx context.Context) error

func (*DbClient) Do

func (mgo *DbClient) Do(ctx context.Context, action func(ctx context.Context, db *mongo.Database) error) error

func (*DbClient) DoWithPartition

func (mgo *DbClient) DoWithPartition(ctx context.Context, part int, action func(ctx context.Context, db *mongo.Database) error) error

func (*DbClient) LongTimeDo

func (mgo *DbClient) LongTimeDo(ctx context.Context, action func(ctx context.Context, db *mongo.Database) error) error

type DoOption

type DoOption struct {
	PartID *int
}

func (*DoOption) SetPartition

func (option *DoOption) SetPartition(partID int)

type MajorOption

type MajorOption struct {
	*options.ClientOptions
	Parallel int
	Database string
}

type Option

type Option struct {
	Parallel      *int
	Record        *record.Factory
	Breaker       *BreakerOption
	ClientMiddles []client.DoMiddle
}

func (Option) AddClientMid

func (opt Option) AddClientMid(mid client.DoMiddle) Option

func (Option) SetBreaker

func (opt Option) SetBreaker(abnormalLimiter *rate.Limiter, recoveryWaitMax time.Duration, recoveryWaitMin time.Duration) Option

func (Option) SetParallel

func (opt Option) SetParallel(parallel int) Option

func (Option) SetRecorder

func (opt Option) SetRecorder(recorders record.Factory) Option

Jump to

Keyboard shortcuts

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