Skip to main content

ReusePolicy

Configure a task environment for container reuse across multiple task invocations.

Attributes​

AttributeTypeDescription
replicasUnion[int, Tuple[int, int]] = 2Number of container replicas to maintain.
idle_ttlUnion[int, timedelta] = 30Environment-level idle timeout — shuts down all replicas when the entire environment has been idle for this duration.
concurrencyint = 1Maximum concurrent tasks per replica.
scaledown_ttlUnion[int, timedelta] = 30Per-replica scale-down delay — minimum time to wait before removing an individual idle replica.

Constructor​

Signature​

def ReusePolicy(
replicas: Union[int, Tuple[int, int]] = 2,
idle_ttl: Union[int, timedelta] = 30,
concurrency: int = 1,
scaledown_ttl: Union[int, timedelta] = 30
) -> None

Parameters​

NameTypeDescription
replicasUnion[int, Tuple[int, int]] = 2Number of container replicas to maintain as a fixed integer or a (min, max) tuple for auto-scaling.
idle_ttlUnion[int, timedelta] = 30Environment-level idle timeout in seconds or timedelta after which all replicas are shut down.
concurrencyint = 1Maximum concurrent tasks per replica.
scaledown_ttlUnion[int, timedelta] = 30Per-replica scale-down delay in seconds or timedelta before removing an individual idle replica.

Methods​


min_replicas()​

@property
def min_replicas(self) -> int: ...

Returns the minimum number of replicas.

Returns​

TypeDescription
intThe minimum number of container replicas configured to run.

get_scaledown_ttl()​

def get_scaledown_ttl(self) -> timedelta | None: ...

Returns the scaledown TTL as a timedelta. If scaledown_ttl is not set, returns None.

Returns​

TypeDescription
`timedeltaNone`

max_replicas()​

@property
def max_replicas(self) -> int: ...

Returns the maximum number of replicas.

Returns​

TypeDescription
intThe maximum number of container replicas allowed to run.