6a45f5623b
Adds an example of multi-tenant applications as alternative to project/limit increase, and more info about queue times and concurrency
204 lines
8.1 KiB
Plaintext
204 lines
8.1 KiB
Plaintext
---
|
|
title: "Limits"
|
|
description: "There are some hard and soft limits that you might hit."
|
|
---
|
|
|
|
import RateLimitHitUseBatchTrigger from "/snippets/rate-limit-hit-use-batchtrigger.mdx";
|
|
|
|
You can view your current limits, quotas, and rate limit usage in real-time by visiting the **Limits** page in the dashboard (accessible from the left sidebar). This page shows current rate limit token availability, quota usage, and plan features for your organization.
|
|
|
|
## Concurrency limits
|
|
|
|
| Pricing tier | Limit |
|
|
| :----------- | :------------------- |
|
|
| Free | 10 concurrent runs |
|
|
| Hobby | 25 concurrent runs |
|
|
| Pro | 100+ concurrent runs |
|
|
|
|
Extra concurrency above the Pro tier limit is available via the dashboard. Click the "Concurrency" page from the left sidebar when on the Pro plan to purchase more.
|
|
|
|
## Rate limits
|
|
|
|
Generally speaking each SDK call is an API call.
|
|
|
|
| Limit | Details |
|
|
| :---- | :------------------------ |
|
|
| API | 1,500 requests per minute |
|
|
|
|
You can request a higher rate limit from us if you're on a paid plan.
|
|
|
|
<RateLimitHitUseBatchTrigger />
|
|
|
|
## Queued tasks
|
|
|
|
The number of queued tasks by environment.
|
|
|
|
| Limit | Details |
|
|
| :------ | :----------------- |
|
|
| Dev | At most 500 |
|
|
| Staging | At most 10 million |
|
|
| Prod | At most 10 million |
|
|
|
|
## Schedules
|
|
|
|
| Pricing tier | Limit |
|
|
| :----------- | :----------------- |
|
|
| Free | 10 per project |
|
|
| Hobby | 100 per project |
|
|
| Pro | 1,000+ per project |
|
|
|
|
Additional bundles above the Pro tier are available for $10/month per 1,000 schedules. Contact us via [email](https://trigger.dev/contact) or [Discord](https://trigger.dev/discord) to request more.
|
|
|
|
When attaching schedules to tasks we strongly recommend you add them [in our dashboard](/tasks/scheduled#attaching-schedules-in-the-dashboard) if they're "static". That way you can control them easily per environment.
|
|
|
|
If you add them [dynamically using code](/management/schedules/create) make sure you add a `deduplicationKey` so you don't add the same schedule to a task multiple times. If you don't your task will get triggered multiple times, it will cost you more, and you will hit the limit.
|
|
|
|
If you're creating schedules for your user you will definitely need to request more schedules from us.
|
|
|
|
## Projects
|
|
|
|
| Pricing tier | Limit |
|
|
| :----------- | :----------------- |
|
|
| All tiers | 10 per organization |
|
|
|
|
Each project receives its own concurrency allocation. If you need to support multiple tenants with the same codebase but different environment variables, see the [Multi-tenant applications](/deploy-environment-variables#multi-tenant-applications) section for a recommended workaround.
|
|
|
|
## Preview branches
|
|
|
|
| Pricing tier | Limit |
|
|
| :----------- | :------------------- |
|
|
| Free | Not available |
|
|
| Hobby | 5 preview branches |
|
|
| Pro | 20+ preview branches |
|
|
|
|
Additional bundles above the Pro tier are available for $10/month per preview branch. Contact us via [email](https://trigger.dev/contact) or [Discord](https://trigger.dev/discord) to request more.
|
|
|
|
## Realtime connections
|
|
|
|
| Pricing tier | Limit |
|
|
| :----------- | :-------------------------- |
|
|
| Free | 10 concurrent connections |
|
|
| Hobby | 50 concurrent connections |
|
|
| Pro | 500+ concurrent connections |
|
|
|
|
Additional bundles are available for $10/month per 100 concurrent connections. Contact us via [email](https://trigger.dev/contact) or [Discord](https://trigger.dev/discord) to request more.
|
|
|
|
## Task payloads and outputs
|
|
|
|
| Limit | Details |
|
|
| :--------------------- | :----------------------------------------------------------------- |
|
|
| Single trigger payload | Must not exceed 3MB |
|
|
| Batch trigger payload | Each item can be up to 3MB (SDK 4.3.1+). Prior: 1MB total combined |
|
|
| Task outputs | Must not exceed 10MB |
|
|
|
|
Payloads and outputs that exceed 512KB will be offloaded to object storage and a presigned URL will be provided to download the data when calling `runs.retrieve`. You don't need to do anything to handle this in your tasks however, as we will transparently upload/download these during operation.
|
|
|
|
## Batch size
|
|
|
|
A single batch can have a maximum of 1,000 items with SDK 4.3.1+. Prior versions are limited to 500 items.
|
|
|
|
<SoftLimit />
|
|
|
|
## Batch trigger rate limits
|
|
|
|
Batch triggering uses a token bucket algorithm to rate limit the number of runs you can trigger per environment. Each run in a batch consumes one token.
|
|
|
|
| Pricing tier | Bucket size | Refill rate |
|
|
| :----------- | :---------- | :-------------------- |
|
|
| Free | 1,200 runs | 100 runs every 10 sec |
|
|
| Hobby | 5,000 runs | 500 runs every 5 sec |
|
|
| Pro | 5,000 runs | 500 runs every 5 sec |
|
|
|
|
**How it works**: You can burst up to your bucket size, then tokens refill at the specified rate. For example, a Free user can trigger 1,200 runs immediately, then must wait for tokens to refill (100 runs become available every 10 seconds).
|
|
|
|
<Note>
|
|
When you hit batch rate limits, the SDK throws a `BatchTriggerError` with `isRateLimited: true`. See [Handling batch trigger errors](/triggering#handling-batch-trigger-errors) for how to detect and react to rate limits in your code.
|
|
</Note>
|
|
|
|
## Batch processing concurrency
|
|
|
|
The number of batches that can be processed concurrently per environment.
|
|
|
|
| Pricing tier | Limit |
|
|
| :----------- | :-------------------- |
|
|
| Free | 1 concurrent batch |
|
|
| Hobby | 10 concurrent batches |
|
|
| Pro | 10 concurrent batches |
|
|
|
|
This limits how many batches can have their items actively being processed into runs at the same time.
|
|
|
|
## Log retention
|
|
|
|
| Pricing tier | Limit |
|
|
| :----------- | :------ |
|
|
| Free | 1 day |
|
|
| Hobby | 7 days |
|
|
| Pro | 30 days |
|
|
|
|
## Log size
|
|
|
|
We limit the size of logs to prevent oversized data potentially causing issues.
|
|
|
|
<Expandable title="log limits">
|
|
|
|
#### Attribute Limits
|
|
|
|
- Span Attribute Count Limit: 256
|
|
- Log Attribute Count Limit: 256
|
|
- Span Attribute Value Length Limit: 131072 characters
|
|
- Log Attribute Value Length Limit: 131072 characters
|
|
|
|
#### Event and Link Limits
|
|
|
|
- Span Event Count Limit: 10
|
|
- Link Count Limit: 2
|
|
- Attributes per Link Limit: 10
|
|
- Attributes per Event Limit: 10
|
|
|
|
#### I/O Packet Length Limit
|
|
|
|
128 KB (131,072 bytes)
|
|
|
|
#### Attribute Clipping Behavior
|
|
|
|
- Attributes exceeding the value length limit (1028 characters) are discarded.
|
|
- If the total number of attributes exceeds 256, additional attributes are not included.
|
|
|
|
#### Attribute Value Size Calculation
|
|
|
|
- Strings: Actual length of the string
|
|
- Numbers: 8 bytes
|
|
- Booleans: 4 bytes
|
|
- Arrays: Sum of the sizes of all elements
|
|
- Undefined or null: 0 bytes
|
|
|
|
</Expandable>
|
|
|
|
## Alerts
|
|
|
|
An alert destination is a single email address, Slack channel, or webhook URL that you want to send alerts to.
|
|
|
|
| Pricing tier | Limit |
|
|
| :----------- | :---------------------- |
|
|
| Free | 1 alert destination |
|
|
| Hobby | 3 alert destinations |
|
|
| Pro | 100+ alert destinations |
|
|
|
|
If you're on the Pro plan and need more than the plan limit, you can request more by contacting us via [email](https://trigger.dev/contact) or [Discord](https://trigger.dev/discord).
|
|
|
|
## Machines
|
|
|
|
The default machine is `small-1x` which has 0.5 vCPU and 0.5 GB of RAM. You can optionally configure a higher spec machine which will increase the cost of running the task but can also improve the performance of the task if it is CPU or memory bound.
|
|
|
|
See the [machine configurations](/machines#machine-configurations) for more details.
|
|
|
|
## Team members
|
|
|
|
| Pricing tier | Limit |
|
|
| :----------- | :--------------- |
|
|
| Free | 5 team members |
|
|
| Hobby | 5 team members |
|
|
| Pro | 25+ team members |
|
|
|
|
Additional seats are available for $20/month per seat. Contact us via [email](https://trigger.dev/contact) or [Discord](https://trigger.dev/discord) to request more.
|