Skip to content
Docs

Quotas and limits

Reference values for the platform's defaults and hard bounds. Per-function settings (timeout, memory) are edited in the function's settings panel or via the SDK; queue options are passed when enqueueing.

The values below are what the hosted platform enforces. Self-hosted installations can tune most of them with environment variables; more than one replica per application needs the allocation compute plane (COMPUTE_ALLOCATION_MODE=embedded).

Functions#

LimitDefaultMaximum
Execution timeout5,000 ms86,400,000 ms (24 h)
Memory per container256 MB2,048 MB
Code upload (ZIP)—~37 MB (base64-encoded inside the 50 MB request)
Unpacked code size—100 MB / 5,000 files and folders
Request body2 MB50 MB (function create/update, code files, layers and deploy)
Preview environment lifetime (non-production deploys)7 days (since its last deploy)

Applications (app runtime)#

Limits for containerized applications: releases, resources and scaling. See the “Applications” article for runtime details.

LimitDefaultMaximum
Replicas per application (activation: always)18 (http/manual — always 1)
Container memory512 MB2,048 MB
Container CPU0.5 vCPU2 vCPU
Live releases per workspace—10
Source upload (ZIP)—~284 MB (base64-encoded inside the 512 MB request; the dashboard's upload button accepts up to 280 MB)
Unpacked source size—1,024 MB / 50,000 files and folders
Preview release TTL24 h
Startup deadline (health gate)120 s
Drain window on release cutover (rolling deploy)5 min60 min (drainGraceSeconds per app, 0–3600 s)
Scale-to-zero idle timeout (http)15 min30 days (minimum 5 min)
Wake activation timeout60 s300 s
Public TCP port range20000–39999 (private-network endpoints use the container port)

Memory, CPU and live-release ceilings apply per workspace and can be raised on request. The CPU figure is a ceiling: about half of it is reserved for the container, and the rest is burst headroom shared with other workloads. Memory is reserved in full and is a hard limit.

Background jobs#

LimitDefaultMaximum
Attempts per job (maxAttempts)1100
Retry backoff (exponential + jitter)1,000 ms × 2ⁿ300,000 ms (5 min)
Delayed start07 days
Visibility timeout (stuck-job reaper)22.5 min (the lease is renewed while the job runs; an expired lease uses up an attempt)
Concurrent jobs per concurrencyKey—10,000
Enqueue rate per workspace120 / min

Pipeline schedules and durable instances#

LimitValue
Minimum cron interval1 min
Scheduler tick~30 s
Durable instance turn-lock lease5 min

Warm container pool#

LimitDefault
Max warm containers per function8
Idle TTL5 min (hard removal after 10 min)
Container recycled after1,000 invocations

If a workload needs more than a listed maximum — longer timeouts, larger uploads, higher rate limits — contact us: most bounds are policy, not architecture.