taskAllocationsMap

taskAllocationsMap: undefined | { T }

A map of 'priority' to 'number of slots allocated for simultaneously running tasks' where 'priority' is the highest task priority that can allocate a slot. Example:

{
  100: 1,
  500: 2,
}

The above means there's one slot for tasks that are at most of 100 priority and there are 2 slots for tasks that have at most of 500 priority. Higher priority tasks may allocate lower priority slots, so a task of 400 priority could take all 3 slots.

Configuring this map provides ability to choose how many tasks of what priority can run simultaneously. E.g. in the above example only 1 task can run simultaneously if it's priority is less than 100 even though we have lots of them queued. This leaves 2 slots for higher priority tasks which can be handled without having to wait for the lower priority slot to free up.

Defaults to

{
  [RequestPriority.Preload]: 1,
  [RequestPriority.Max]: 1,
}

Warning: Tasks with priority higher than maximum priority in the slots allocation map will never be handled.

Defined in

Last Updated: 29 November, 2022