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.
Self-hosted installations can tune most defaults via environment variables; the values below are the stock configuration.
Functions
| Limit | Default | Maximum |
|---|
| Execution timeout | 5,000 ms | 900,000 ms (15 min) |
| Memory per container | 256 MB | 2,048 MB |
| Code upload (ZIP) | — | 50 MB |
| Unpacked code size | — | 100 MB / 5,000 files |
| Request body | 2 MB | 50 MB (code-file and deploy endpoints) |
Background jobs
| Limit | Default | Maximum |
|---|
| Attempts per job (maxAttempts) | 1 | 100 |
| Retry backoff (exponential + jitter) | 1,000 ms × 2ⁿ | 300,000 ms (5 min) |
| Delayed start | 0 | 7 days |
| Visibility timeout (stuck-job reaper) | 22.5 min |
| Concurrent jobs per concurrencyKey | — | 10,000 |
| Enqueue rate per workspace | 120 / min |
Cron and durable orchestration
| Limit | Value |
|---|
| Minimum cron interval | 1 min |
| Scheduler tick | ~30 s |
| Orchestration turn-lock lease | 5 min |
| continueAsNew depth cap | 10,000 |
Warm container pool
| Limit | Default |
|---|
| Max warm containers per function | 8 |
| Idle TTL | 5 min (hard removal after 10 min) |
| Container recycled after | 1,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.