X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/69148e44f11b50f1c4b1c1bc4c1871ab10c3e893..8be5c463e63b043a424f56d4f3904c71e4f0a516:/lib/dispatchcloud/scheduler/scheduler.go diff --git a/lib/dispatchcloud/scheduler/scheduler.go b/lib/dispatchcloud/scheduler/scheduler.go index 70b352d64b..b1f8ea2223 100644 --- a/lib/dispatchcloud/scheduler/scheduler.go +++ b/lib/dispatchcloud/scheduler/scheduler.go @@ -46,10 +46,10 @@ type Scheduler struct { stop chan struct{} stopped chan struct{} - last503time time.Time // last time API responded 503 - maxConcurrency int // dynamic container limit (0 = unlimited), see runQueue() - maxSupervisors float64 // maximum fraction of "supervisor" containers (these are containers who's main job is to launch other containers, e.g. workflow runners) - maxInstances int // maximum number of instances the pool will bring up (0 = unlimited) + last503time time.Time // last time API responded 503 + maxConcurrency int // dynamic container limit (0 = unlimited), see runQueue() + supervisorFraction float64 // maximum fraction of "supervisor" containers (these are containers who's main job is to launch other containers, e.g. workflow runners) + maxInstances int // maximum number of instances the pool will bring up (0 = unlimited) mContainersAllocatedNotStarted prometheus.Gauge mContainersNotAllocatedOverQuota prometheus.Gauge @@ -62,7 +62,7 @@ type Scheduler struct { // // Any given queue and pool should not be used by more than one // scheduler at a time. -func New(ctx context.Context, client *arvados.Client, queue ContainerQueue, pool WorkerPool, reg *prometheus.Registry, staleLockTimeout, queueUpdateInterval time.Duration, maxInstances int, maxSupervisors float64) *Scheduler { +func New(ctx context.Context, client *arvados.Client, queue ContainerQueue, pool WorkerPool, reg *prometheus.Registry, staleLockTimeout, queueUpdateInterval time.Duration, maxInstances int, supervisorFraction float64) *Scheduler { sch := &Scheduler{ logger: ctxlog.FromContext(ctx), client: client, @@ -76,7 +76,7 @@ func New(ctx context.Context, client *arvados.Client, queue ContainerQueue, pool stopped: make(chan struct{}), uuidOp: map[string]string{}, maxConcurrency: maxInstances, // initial value -- will be dynamically adjusted - maxSupervisors: maxSupervisors, + supervisorFraction: supervisorFraction, maxInstances: maxInstances, } sch.registerMetrics(reg)