Yes, concurrency is limited in both development and staging environments in Trigger.dev.
Development Environment:
By default, the maximum number of concurrent runs in development is set to 25. You can adjust this limit using the DEV_MAX_CONCURRENT_RUNS environment variable if needed. This means that even if your task's queue is set to allow 10 concurrent runs, the overall dev environment will not allow more than the configured maximum concurrent runs at any time.
Reference:
DEV_MAX_CONCURRENT_RUNS | No | 25 | Sets the max concurrency for dev runs via the CLI.
Webapp Env Vars
Staging Environment:
The overall concurrency limit for staging (and production) is determined by your plan. For example, the Free plan allows 10 concurrent runs, Hobby allows 25, and Pro allows 100+. These are environment-wide limits, so if you have multiple tasks running, they all share this concurrency pool.
Reference:
| Pricing tier |
Limit |
| Free |
10 concurrent runs |
| Hobby |
25 concurrent runs |
| Pro |
100+ concurrent runs |
| Limits |
|
Why your tasks may run sequentially:
If your environment's concurrency limit is lower than your task's queue concurrency limit, or if other tasks are also running, you may see tasks executing sequentially rather than concurrently. Make sure your environment's concurrency settings and your plan support the level of concurrency you want to test.
Summary:
- In dev, check and possibly increase
DEV_MAX_CONCURRENT_RUNS.
- In staging, your plan's concurrency limit applies.
- Task-level concurrency cannot exceed environment-level concurrency.