Documentation
¶
Index ¶
- func CalculatePriorityUpdateFromReports(reports map[string]*api.ClusterUsageReport, report *api.ClusterUsageReport, ...) map[string]float64
- func CalculateQueuesPriorityInfo(clusterPriorities map[string]map[string]float64, ...) map[*api.Queue]QueuePriorityInfo
- func CombineLeasedReportResourceByQueue(reports map[string]*api.ClusterLeasedReport) map[string]common.ComputeResources
- func CreateClusterLeasedReport(clusterId string, currentReport *api.ClusterLeasedReport, ...) *api.ClusterLeasedReport
- func CreateClusterSchedulingInfoReport(leaseRequest *api.LeaseRequest) *api.ClusterSchedulingInfoReport
- func FilterActiveClusterLeasedReports(reports map[string]*api.ClusterLeasedReport) map[string]*api.ClusterLeasedReport
- func FilterActiveClusterSchedulingInfoReports(reports map[string]*api.ClusterSchedulingInfoReport) map[string]*api.ClusterSchedulingInfoReport
- func FilterActiveClusters(reports map[string]*api.ClusterUsageReport) map[string]*api.ClusterUsageReport
- func GetClusterReportIds(reports map[string]*api.ClusterUsageReport) []string
- func LeaseJobs(ctx context.Context, config *configuration.SchedulingConfig, ...) ([]*api.Job, error)
- func MatchSchedulingRequirements(job *api.Job, schedulingInfo *api.ClusterSchedulingInfoReport) bool
- func QueueSlicesToShares(resourceScarcity map[string]float64, ...) map[*api.Queue]float64
- func ResourceScarcityFromReports(reports map[string]*api.ClusterUsageReport) map[string]float64
- func ResourcesAsUsage(resourceScarcity map[string]float64, resources common.ComputeResources) float64
- func ResourcesFloatAsUsage(resourceScarcity map[string]float64, resources common.ComputeResourcesFloat) float64
- func SliceResourceWithLimits(resourceScarcity map[string]float64, ...) map[*api.Queue]*QueueSchedulingInfo
- func SumRemainingResource(schedulingInfo map[*api.Queue]*QueueSchedulingInfo) common.ComputeResourcesFloat
- type LeaseManager
- type QueuePriorityInfo
- type QueueSchedulingInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CombineLeasedReportResourceByQueue ¶ added in v0.1.6
func CombineLeasedReportResourceByQueue(reports map[string]*api.ClusterLeasedReport) map[string]common.ComputeResources
func CreateClusterLeasedReport ¶ added in v0.1.6
func CreateClusterLeasedReport(clusterId string, currentReport *api.ClusterLeasedReport, additionallyLeasedJobs []*api.Job) *api.ClusterLeasedReport
func CreateClusterSchedulingInfoReport ¶ added in v0.1.6
func CreateClusterSchedulingInfoReport(leaseRequest *api.LeaseRequest) *api.ClusterSchedulingInfoReport
func FilterActiveClusterLeasedReports ¶ added in v0.1.6
func FilterActiveClusterLeasedReports(reports map[string]*api.ClusterLeasedReport) map[string]*api.ClusterLeasedReport
func FilterActiveClusterSchedulingInfoReports ¶ added in v0.1.6
func FilterActiveClusterSchedulingInfoReports(reports map[string]*api.ClusterSchedulingInfoReport) map[string]*api.ClusterSchedulingInfoReport
func FilterActiveClusters ¶
func FilterActiveClusters(reports map[string]*api.ClusterUsageReport) map[string]*api.ClusterUsageReport
func GetClusterReportIds ¶
func GetClusterReportIds(reports map[string]*api.ClusterUsageReport) []string
func LeaseJobs ¶ added in v0.1.2
func LeaseJobs( ctx context.Context, config *configuration.SchedulingConfig, jobQueueRepository repository.JobQueueRepository, onJobLease func([]*api.Job), request *api.LeaseRequest, activeClusterReports map[string]*api.ClusterUsageReport, activeClusterLeaseJobReports map[string]*api.ClusterLeasedReport, clusterPriorities map[string]map[string]float64, activeQueues []*api.Queue, ) ([]*api.Job, error)
func MatchSchedulingRequirements ¶ added in v0.1.6
func MatchSchedulingRequirements(job *api.Job, schedulingInfo *api.ClusterSchedulingInfoReport) bool
func QueueSlicesToShares ¶ added in v0.1.2
func ResourceScarcityFromReports ¶
func ResourceScarcityFromReports(reports map[string]*api.ClusterUsageReport) map[string]float64
func ResourcesAsUsage ¶
func ResourcesAsUsage(resourceScarcity map[string]float64, resources common.ComputeResources) float64
func ResourcesFloatAsUsage ¶
func ResourcesFloatAsUsage(resourceScarcity map[string]float64, resources common.ComputeResourcesFloat) float64
func SliceResourceWithLimits ¶ added in v0.1.6
func SliceResourceWithLimits(resourceScarcity map[string]float64, queueSchedulingInfo map[*api.Queue]*QueueSchedulingInfo, queuePriorities map[*api.Queue]QueuePriorityInfo, quantityToSlice common.ComputeResourcesFloat) map[*api.Queue]*QueueSchedulingInfo
func SumRemainingResource ¶ added in v0.1.6
func SumRemainingResource(schedulingInfo map[*api.Queue]*QueueSchedulingInfo) common.ComputeResourcesFloat
Types ¶
type LeaseManager ¶ added in v0.1.0
type LeaseManager struct {
// contains filtered or unexported fields
}
func NewLeaseManager ¶ added in v0.1.0
func NewLeaseManager( jobRepository repository.JobRepository, queueRepository repository.QueueRepository, eventStore repository.EventStore, leaseExpiryDuration time.Duration) *LeaseManager
func (*LeaseManager) ExpireLeases ¶ added in v0.1.0
func (l *LeaseManager) ExpireLeases()
type QueuePriorityInfo ¶
type QueuePriorityInfo struct { Priority float64 CurrentUsage common.ComputeResources }
type QueueSchedulingInfo ¶ added in v0.1.6
type QueueSchedulingInfo struct {
// contains filtered or unexported fields
}
func NewQueueSchedulingInfo ¶ added in v0.1.6
func NewQueueSchedulingInfo( remainingSchedulingLimit common.ComputeResourcesFloat, schedulingShare common.ComputeResourcesFloat, adjustedShare common.ComputeResourcesFloat) *QueueSchedulingInfo
func (*QueueSchedulingInfo) UpdateLimits ¶ added in v0.1.6
func (info *QueueSchedulingInfo) UpdateLimits(resourceUsed common.ComputeResourcesFloat)
Click to show internal directories.
Click to hide internal directories.