34ca7667d3
* WIP * Handle tasks that have failed but are being auto yielded * Limit trace view to 25k event records, add a download run logs button Also added two new indexes to TaskEvent: ``` /// Used on eventRepository.getTraceSummary() @@index([traceId, startTime]) // Used for getting all logs for a run @@index([runId]) ``` * perf improvements on eventRepository.getSpan() * v2: Add a 5 minute timeout for run execution requests in dev * v3: Include presigned urls for downloading large payloads and outputs when using runs.retrieve * v3: better handle large task payloads and outputs * Change to 512KB * v2: paginate trigger schedules endpoint * v3: add 3MB limit on batch and single payloads * Update task payload and output limits
50 lines
2.1 KiB
Plaintext
50 lines
2.1 KiB
Plaintext
---
|
|
title: "Limits"
|
|
description: "There are some hard and soft limits in v3 that you might hit."
|
|
---
|
|
|
|
## Concurrency limits
|
|
|
|
These are the default limits on a free account.
|
|
|
|
| Limit | Details |
|
|
| ------------ | ------------------ |
|
|
| Organization | 10 concurrent runs |
|
|
| Environment | 5 concurrent runs |
|
|
|
|
<Snippet file="v3/soft-limit.mdx" />
|
|
|
|
## Rate limits
|
|
|
|
| Limit | Details |
|
|
| ----- | ------------------------- |
|
|
| API | 1,500 requests per minute |
|
|
|
|
Generally speaking each SDK call is an API call.
|
|
|
|
The most common cause of hitting the API rate limit is if you're calling `trigger()` on a task in a loop, instead of doing this use `batchTrigger()` which will trigger multiple tasks in a single API call. You can have up to 100 tasks in a single batch trigger call.
|
|
|
|
## Schedules
|
|
|
|
| Limit | Details |
|
|
| --------- | ------------- |
|
|
| Schedules | 5 per project |
|
|
|
|
When attaching schedules to tasks we strongly recommend you add them in our dashboard if they're "static". That way you can control them easily per environment.
|
|
|
|
If you add them dynamically using code 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.
|
|
|
|
<Snippet file="v3/soft-limit.mdx" />
|
|
|
|
## Task payloads and outputs
|
|
|
|
| Limit | Details |
|
|
| ---------------------- | ---------------------------------------------- |
|
|
| Single trigger payload | Must not exceed 10MB |
|
|
| Batch trigger payload | The total of all payloads must not exceed 10MB |
|
|
| 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.
|