Browse documentation
On this page

Peren documentation

Limits and defaults

Fleet [limits] fields, defaults, and whether the live HTTP path enforces them.

Fleet [limits] values are parsed into the process. Only some fields are applied on the live HTTP and admission path. The others are stored and validated where noted.

Fleet [limits]

Field Default Live path
max_request_body_bytes 33554432 (32 MiB) Enforced. Oversized bodies are refused on the HTTP path.
max_heap_bytes 134217728 (128 MiB) Enforced as the isolate heap limit. Config validation requires at least 16 MiB.
max_execution_time_ms 30000 Enforced as the isolate wall-clock limit. Must be greater than zero.
max_subrequests_per_invocation 10000 Enforced per invocation.
max_isolates 256 Enforced as concurrent top-level admission capacity. Must be greater than zero.
max_cpu_time_ms 30000 Stored only. Not applied on the live HTTP path.
isolate_fair_share_percent 25 Stored. Validated in 1..=100. Not wired into the live HTTP path.
checkpoint_threshold_bytes 4194304 (4 MiB) Stored only.
cron_retry_base_ms 2000 Stored. Validated when cron retries are enabled. Not wired into the live HTTP path.
cron_retry_max_attempts 6 Stored only.
cron_retry_max_backoff_ms 64000 Stored only.
max_steps_per_instance 100000 Stored only.

Call out: set max_cpu_time_ms if you want the value recorded for operators and tooling. It does not cap CPU on requests today. Use max_execution_time_ms for wall-clock refusal.

The live HTTP path builds isolate and invocation limits from the fleet [limits] values above.

Queue message limits

Memory and file-backed queue send paths enforce:

Limit Value
Max message body 128000 bytes
Max messages per batch 100
Max batch payload 256000 bytes
Delay 0 through 86400 seconds

A message or batch outside these bounds is refused by the broker. See Queues.