Skip to content

/AWS1/CL_TBDWTBLNCDSCHDLNGCONF

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.

CONSTRUCTOR

IMPORTING

Optional arguments:

iv_priorityweight TYPE /AWS1/RT_DOUBLE_AS_STRING /AWS1/RT_DOUBLE_AS_STRING

The weight applied to job priority in the scheduling formula. Higher values give more influence to job priority. A value of 0 means priority is ignored. The default value is 100.0.

iv_errorweight TYPE /AWS1/RT_DOUBLE_AS_STRING /AWS1/RT_DOUBLE_AS_STRING

The weight applied to the number of errors on a job. A negative value means jobs without errors are scheduled first. A value of 0 means errors are ignored. The default value is -10.0.

iv_submissiontimeweight TYPE /AWS1/RT_DOUBLE_AS_STRING /AWS1/RT_DOUBLE_AS_STRING

The weight applied to job submission time. A positive value means earlier jobs are scheduled first. A value of 0 means submission time is ignored. The default value is 3.0.

iv_renderingtaskweight TYPE /AWS1/RT_DOUBLE_AS_STRING /AWS1/RT_DOUBLE_AS_STRING

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 0 means the rendering state is ignored. The default value is -100.0.

iv_renderingtaskbuffer TYPE /AWS1/TBDSCHRENDERINGTSKBUFFER /AWS1/TBDSCHRENDERINGTSKBUFFER

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.

io_maxpriorityoverride TYPE REF TO /AWS1/CL_TBDSCHDLNGMAXPRIOOVRD /AWS1/CL_TBDSCHDLNGMAXPRIOOVRD

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.

io_minpriorityoverride TYPE REF TO /AWS1/CL_TBDSCHDLNGMINPRIOOVRD /AWS1/CL_TBDSCHDLNGMINPRIOOVRD

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.


Queryable Attributes

priorityWeight

The weight applied to job priority in the scheduling formula. Higher values give more influence to job priority. A value of 0 means priority is ignored. The default value is 100.0.

Accessible with the following methods

Method Description
GET_PRIORITYWEIGHT() Getter for PRIORITYWEIGHT, with configurable default
ASK_PRIORITYWEIGHT() Getter for PRIORITYWEIGHT w/ exceptions if field has no valu
STR_PRIORITYWEIGHT() String format for PRIORITYWEIGHT, with configurable default
HAS_PRIORITYWEIGHT() Determine if PRIORITYWEIGHT has a value

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 0 means errors are ignored. The default value is -10.0.

Accessible with the following methods

Method Description
GET_ERRORWEIGHT() Getter for ERRORWEIGHT, with configurable default
ASK_ERRORWEIGHT() Getter for ERRORWEIGHT w/ exceptions if field has no value
STR_ERRORWEIGHT() String format for ERRORWEIGHT, with configurable default
HAS_ERRORWEIGHT() Determine if ERRORWEIGHT has a value

submissionTimeWeight

The weight applied to job submission time. A positive value means earlier jobs are scheduled first. A value of 0 means submission time is ignored. The default value is 3.0.

Accessible with the following methods

Method Description
GET_SUBMISSIONTIMEWEIGHT() Getter for SUBMISSIONTIMEWEIGHT, with configurable default
ASK_SUBMISSIONTIMEWEIGHT() Getter for SUBMISSIONTIMEWEIGHT w/ exceptions if field has n
STR_SUBMISSIONTIMEWEIGHT() String format for SUBMISSIONTIMEWEIGHT, with configurable de
HAS_SUBMISSIONTIMEWEIGHT() Determine if SUBMISSIONTIMEWEIGHT has a value

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 0 means the rendering state is ignored. The default value is -100.0.

Accessible with the following methods

Method Description
GET_RENDERINGTASKWEIGHT() Getter for RENDERINGTASKWEIGHT, with configurable default
ASK_RENDERINGTASKWEIGHT() Getter for RENDERINGTASKWEIGHT w/ exceptions if field has no
STR_RENDERINGTASKWEIGHT() String format for RENDERINGTASKWEIGHT, with configurable def
HAS_RENDERINGTASKWEIGHT() Determine if RENDERINGTASKWEIGHT has a value

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.

Accessible with the following methods

Method Description
GET_RENDERINGTASKBUFFER() Getter for RENDERINGTASKBUFFER, with configurable default
ASK_RENDERINGTASKBUFFER() Getter for RENDERINGTASKBUFFER w/ exceptions if field has no
HAS_RENDERINGTASKBUFFER() Determine if RENDERINGTASKBUFFER has a value

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.

Accessible with the following methods

Method Description
GET_MAXPRIORITYOVERRIDE() Getter for MAXPRIORITYOVERRIDE

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.

Accessible with the following methods

Method Description
GET_MINPRIORITYOVERRIDE() Getter for MINPRIORITYOVERRIDE