Concurrency limits

These are the default limits on a free account.

LimitDetails
Organization10 concurrent runs
Environment5 concurrent runs

Rate limits

LimitDetails
API1,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

LimitDetails
Schedules5 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.

Task payloads and outputs

LimitDetails
Single trigger payloadMust not exceed 10MB
Batch trigger payloadThe total of all payloads must not exceed 10MB
Task outputsMust 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.