mirror of
https://github.com/simstudioai/sim.git
synced 2026-09-24 15:45:35 +08:00
improvement(concurrency): limits configurable, docs updates (#5640)
* improvement(concurrency): limits configurable, docs updates * remove dead tests * limits self hosted vars
This commit is contained in:
@@ -332,7 +332,18 @@ Team and Enterprise plans unlock shared workspaces that belong to your organizat
|
||||
| **Max** | 300 | 2,500 |
|
||||
| **Enterprise** | 600 | 5,000 |
|
||||
|
||||
Max (individual) shares the same rate limits as team plans. Team plans (Pro or Max for Teams) use the Max-tier rate limits.
|
||||
Rate limits follow the paid tier: Pro and Pro for Teams share the Pro limits, while Max and Max for Teams share the Max limits.
|
||||
|
||||
### Concurrent Executions
|
||||
|
||||
| Plan | Concurrent Executions |
|
||||
|------|-----------------------|
|
||||
| **Free** | 10 |
|
||||
| **Pro** | 50 |
|
||||
| **Max** | 200 |
|
||||
| **Enterprise** | 1,000 by default (customizable) |
|
||||
|
||||
The concurrency limit applies per billing account. For organization-based plans, the limit is shared by all workspaces, members, and API keys under that organization. Teams plans follow their tier: Pro for Teams uses the Pro limit and Max for Teams uses the Max limit. An admitted async execution holds a slot while queued and running; synchronous executions hold one while running. Workflow-in-workflow blocks execute inside the parent run and do not consume another concurrency slot.
|
||||
|
||||
### File Storage
|
||||
|
||||
@@ -343,7 +354,7 @@ Max (individual) shares the same rate limits as team plans. Team plans (Pro or M
|
||||
| **Max** | 500 GB |
|
||||
| **Enterprise** | 500 GB (customizable) |
|
||||
|
||||
Team plans (Pro or Max for Teams) use 500 GB.
|
||||
Storage follows the paid tier: Pro and Pro for Teams share the Pro limit, while Max and Max for Teams share the Max limit. Organization storage is pooled across the organization's workspaces.
|
||||
|
||||
### Run Time Limits
|
||||
|
||||
|
||||
@@ -121,6 +121,29 @@ Configure one provider — the mailer auto-detects in priority order: **Resend
|
||||
|----------|-------------|
|
||||
| `AZURE_ACS_CONNECTION_STRING` | Azure Communication Services connection string |
|
||||
|
||||
## Limits
|
||||
|
||||
Self-hosted deployments (billing disabled) run without plan limits: no rate limits, no execution timeouts, no table or storage caps, and no retention-based data deletion. Each limit can be opted back in individually by explicitly setting its variable.
|
||||
|
||||
| Variable | Opts in | Suggested value |
|
||||
|----------|---------|-----------------|
|
||||
| `RATE_LIMIT_FREE_SYNC` | Sync executions per minute | `50` |
|
||||
| `RATE_LIMIT_FREE_ASYNC` | Async executions per minute | `200` |
|
||||
| `RATE_LIMIT_FREE_API_ENDPOINT` | v1 API endpoint requests per minute | `30` |
|
||||
| `EXECUTION_TIMEOUT_FREE` | Sync execution timeout (seconds) | `300` |
|
||||
| `EXECUTION_TIMEOUT_ASYNC_FREE` | Async execution timeout (seconds) | `5400` |
|
||||
| `FREE_TABLES_LIMIT` | Max user tables per workspace | `5` |
|
||||
| `FREE_TABLE_ROWS_LIMIT` | Max rows per user table | `50000` |
|
||||
| `FREE_STORAGE_LIMIT_GB` | File storage quota (GB) | `5` |
|
||||
|
||||
<Callout type="info">
|
||||
Without billing, every account resolves to the free tier, so only the free-tier variables apply. Setting one variable enforces only that limit — the rest stay unlimited.
|
||||
</Callout>
|
||||
|
||||
<Callout type="warn">
|
||||
Deployments installed with the Helm chart ship these variables preset in `app.envDefaults`, so chart-based installs keep enforcement unless those keys are removed or overridden.
|
||||
</Callout>
|
||||
|
||||
## Example .env
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user