Class WeightedBalancedSchedulingConfiguration
- All Implemented Interfaces:
Serializable,SdkPojo,ToCopyableBuilder<WeightedBalancedSchedulingConfiguration.Builder,WeightedBalancedSchedulingConfiguration>
Configuration for weighted balanced scheduling. Workers are assigned to jobs based on a weighted formula:
weight = (priority * priorityWeight) + (errors * errorWeight) + ((currentTime - submissionTime) * submissionTimeWeight) + ((renderingTasks - renderingTaskBuffer) * renderingTaskWeight)
The job with the highest calculated weight is scheduled first. Workers are distributed evenly amongst jobs with the same weight.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface -
Method Summary
Modifier and TypeMethodDescriptionbuilder()final booleanfinal booleanequalsBySdkFields(Object obj) Indicates whether some other object is "equal to" this one by SDK fields.final DoubleThe weight applied to the number of errors on a job.final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz) final inthashCode()Overrides the weighted scheduling formula for jobs at the maximum priority (100).Overrides the weighted scheduling formula for jobs at the minimum priority (0).final DoubleThe weight applied to job priority in the scheduling formula.final IntegerThe rendering task buffer is subtracted from the number of rendering tasks before applying the rendering task weight.final DoubleThe weight applied to the number of tasks currently rendering on a job.static Class<? extends WeightedBalancedSchedulingConfiguration.Builder> final DoubleThe weight applied to job submission time.Take this object and create a builder that contains all of the current property values of this object.final StringtoString()Returns a string representation of this object.Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
Method Details
-
priorityWeight
The weight applied to job priority in the scheduling formula. Higher values give more influence to job priority. A value of
0means priority is ignored. The default value is100.0.- Returns:
- The weight applied to job priority in the scheduling formula. Higher values give more influence to job
priority. A value of
0means priority is ignored. The default value is100.0.
-
errorWeight
The weight applied to the number of errors on a job. A negative value means jobs without errors are scheduled first. A value of
0means errors are ignored. The default value is-10.0.- Returns:
- The weight applied to the number of errors on a job. A negative value means jobs without errors are
scheduled first. A value of
0means errors are ignored. The default value is-10.0.
-
submissionTimeWeight
The weight applied to job submission time. A positive value means earlier jobs are scheduled first. A value of
0means submission time is ignored. The default value is3.0.- Returns:
- The weight applied to job submission time. A positive value means earlier jobs are scheduled first. A
value of
0means submission time is ignored. The default value is3.0.
-
renderingTaskWeight
The weight applied to the number of tasks currently rendering on a job. A negative value means jobs that are not already rendering are scheduled next. A value of
0means the rendering state is ignored. The default value is-100.0.- Returns:
- The weight applied to the number of tasks currently rendering on a job. A negative value means jobs that
are not already rendering are scheduled next. A value of
0means the rendering state is ignored. The default value is-100.0.
-
renderingTaskBuffer
The rendering task buffer is subtracted from the number of rendering tasks before applying the rendering task weight. This creates a stickiness effect where workers prefer to stay with their current job. Higher values make workers stickier. The default value is
1. The buffer is only applied in the weight calculation for a job if the worker is currently assigned to that job.- Returns:
- The rendering task buffer is subtracted from the number of rendering tasks before applying the rendering
task weight. This creates a stickiness effect where workers prefer to stay with their current job. Higher
values make workers stickier. The default value is
1. The buffer is only applied in the weight calculation for a job if the worker is currently assigned to that job.
-
maxPriorityOverride
Overrides the weighted scheduling formula for jobs at the maximum priority (100). When set, jobs with priority 100 are always scheduled first regardless of their calculated weight. When absent, maximum priority jobs use the standard weighted formula.
- Returns:
- Overrides the weighted scheduling formula for jobs at the maximum priority (100). When set, jobs with priority 100 are always scheduled first regardless of their calculated weight. When absent, maximum priority jobs use the standard weighted formula.
-
minPriorityOverride
Overrides the weighted scheduling formula for jobs at the minimum priority (0). When set, jobs with priority 0 are always scheduled last regardless of their calculated weight. When absent, minimum priority jobs use the standard weighted formula.
- Returns:
- Overrides the weighted scheduling formula for jobs at the minimum priority (0). When set, jobs with priority 0 are always scheduled last regardless of their calculated weight. When absent, minimum priority jobs use the standard weighted formula.
-
toBuilder
Description copied from interface:ToCopyableBuilderTake this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilderin interfaceToCopyableBuilder<WeightedBalancedSchedulingConfiguration.Builder,WeightedBalancedSchedulingConfiguration> - Returns:
- a builder for type T
-
builder
-
serializableBuilderClass
public static Class<? extends WeightedBalancedSchedulingConfiguration.Builder> serializableBuilderClass() -
hashCode
-
equals
-
equalsBySdkFields
Description copied from interface:SdkPojoIndicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in anSdkPojoclass, and is generated based on a service model.If an
SdkPojoclass does not have any inherited fields,equalsBySdkFieldsandequalsare essentially the same.- Specified by:
equalsBySdkFieldsin interfaceSdkPojo- Parameters:
obj- the object to be compared with- Returns:
- true if the other object equals to this object by sdk fields, false otherwise.
-
toString
-
getValueForField
-
sdkFields
-
sdkFieldNameToField
- Specified by:
sdkFieldNameToFieldin interfaceSdkPojo- Returns:
- The mapping between the field name and its corresponding field.
-