v2

package
v0.50.0-alpha.1 Latest Latest
Warning

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

Go to latest
Published: Oct 16, 2024 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AssignedQueueItem

type AssignedQueueItem struct {
	AckId    int
	WorkerId pgtype.UUID

	QueueItem *dbsqlc.QueueItem

	// DispatcherId only gets set after a successful flush to the database
	DispatcherId *pgtype.UUID
}

type LeaseManager

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

LeaseManager is responsible for leases on multiple queues and multiplexing queue results to callers. It is still tenant-scoped.

type ListActiveWorkersResult

type ListActiveWorkersResult struct {
	ID     pgtype.UUID
	Labels []*dbsqlc.ListManyWorkerLabelsRow
}

type QueueResults

type QueueResults struct {
	TenantId pgtype.UUID
	Assigned []*AssignedQueueItem

	// A list of step run ids that were not assigned because they reached the scheduling
	// timeout
	SchedulingTimedOut []string
}

type Queuer

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

func (*Queuer) Cleanup

func (q *Queuer) Cleanup()

type Scheduler

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

Scheduler is responsible for scheduling steps to workers as efficiently as possible. This is tenant-scoped, so each tenant will have its own scheduler.

type SchedulingPool

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

SchedulingPool is responsible for managing a pool of tenantManagers.

func NewSchedulingPool

func NewSchedulingPool(l *zerolog.Logger, p *pgxpool.Pool, v validator.Validator, singleQueueLimit int) (*SchedulingPool, func() error, error)

func (*SchedulingPool) GetResultsCh

func (p *SchedulingPool) GetResultsCh() chan *QueueResults

func (*SchedulingPool) Queue

func (p *SchedulingPool) Queue(ctx context.Context, tenantId string, queueName string)

func (*SchedulingPool) RefreshAll

func (p *SchedulingPool) RefreshAll(ctx context.Context, tenantId string)

func (*SchedulingPool) Replenish

func (p *SchedulingPool) Replenish(ctx context.Context, tenantId string)

func (*SchedulingPool) SetTenants

func (p *SchedulingPool) SetTenants(tenants []*dbsqlc.Tenant)

Jump to

Keyboard shortcuts

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