Table of Contents

Class ResourceBasedSlotSupplierOptions

Namespace
Temporalio.Worker.Tuning
Assembly
Temporalio.dll

Options for a specific slot type being used with a resource based slot supplier.

public sealed record ResourceBasedSlotSupplierOptions : IEquatable<ResourceBasedSlotSupplierOptions>
Inheritance
ResourceBasedSlotSupplierOptions
Implements
Inherited Members

Remarks

WARNING: Resource based tuning is currently experimental.

Constructors

ResourceBasedSlotSupplierOptions(int?, int?, TimeSpan?)

Options for a specific slot type being used with a resource based slot supplier.

public ResourceBasedSlotSupplierOptions(int? MinimumSlots = null, int? MaximumSlots = null, TimeSpan? RampThrottle = null)

Parameters

MinimumSlots int?

Amount of slots that will be issued regardless of any other checks. Defaults to 5 for workflows and 1 for activities.

MaximumSlots int?

Maximum amount of slots permitted. Defaults to 500.

RampThrottle TimeSpan?

Minimum time we will wait (after passing the minimum slots number) between handing out new slots in milliseconds. Defaults to 0 for workflows and 50ms for activities.

This value matters because how many resources a task will use cannot be determined ahead of time, and thus the system should wait to see how much resources are used before issuing more slots.

Remarks

WARNING: Resource based tuning is currently experimental.

Properties

MaximumSlots

Maximum amount of slots permitted. Defaults to 500.

public int? MaximumSlots { get; init; }

Property Value

int?

MinimumSlots

Amount of slots that will be issued regardless of any other checks. Defaults to 5 for workflows and 1 for activities.

public int? MinimumSlots { get; init; }

Property Value

int?

RampThrottle

Minimum time we will wait (after passing the minimum slots number) between handing out new slots in milliseconds. Defaults to 0 for workflows and 50ms for activities.

This value matters because how many resources a task will use cannot be determined ahead of time, and thus the system should wait to see how much resources are used before issuing more slots.

public TimeSpan? RampThrottle { get; init; }

Property Value

TimeSpan?