Testing Production Limits
Simulation limits let you test your workflows against production constraints locally before deploying. By enforcing the same quotas that apply in production, you can catch violations early and avoid surprises at deploy time.
Why use simulation limits
When you simulate a workflow, the CLI can enforce the same service quotas that your workflow will be subject to in production. This helps you:
- Catch violations early: Identify workflows that exceed timeout, memory, or rate limits before deploying.
- Match production behavior: Ensure your local simulation mirrors how your workflow will run on the network.
- Avoid surprises at deploy time: Confidently deploy knowing your workflow operates within quota boundaries.
Using the --limits flag
The --limits flag controls how simulation limits are enforced. It supports three modes:
Default limits (default behavior)
By default, the simulator enforces embedded production limits. You do not need to pass any flag:
cre workflow simulate my-workflow --target staging-settings
This is equivalent to explicitly passing --limits default:
cre workflow simulate my-workflow --limits default --target staging-settings
No limits
To disable all limit enforcement during simulation, use --limits none:
cre workflow simulate my-workflow --limits none --target staging-settings
Custom limits
You can provide a custom limits file to override specific values:
cre workflow simulate my-workflow --limits ./my-limits.json --target staging-settings
See Customizing limits for how to create a custom limits file.
Viewing default limits
Use the cre workflow limits export command to inspect the default production limits:
cre workflow limits export
This outputs the default limits as JSON to stdout. You can redirect the output to a file:
cre workflow limits export > my-limits.json
Customizing limits
To customize limits for simulation:
-
Export the defaults to a JSON file:
cre workflow limits export > my-limits.json -
Edit the JSON file to adjust the values you want to change. For example, you might increase the execution timeout or HTTP call limit for testing purposes.
-
Pass the custom file to the simulator:
cre workflow simulate my-workflow --limits ./my-limits.json --target staging-settings
Default limit values
The default limits enforced during simulation match the production quotas documented on the Service Quotas page. Use cre workflow limits export to inspect the exact values applied to your simulations.
Requesting limit increases
If your workflow requires higher limits than the defaults, you can request a limit increase:
- Go to app.chain.link/cre/discover and log in to your account.
- Click Help in the sidebar.
- Set Issue Type to Other.
- In the Description field, include:
- Which limit you need increased
- The desired value
- The reason for the increase
Next steps
- Service quotas reference: See the full Service Quotas page for all quota keys and values.
- Simulating workflows: Learn more about the simulation environment in Simulating Workflows.
- CLI reference: See the
cre workflow simulateandcre workflow limitscommand references for all available flags. - Deploy your workflow: Once validated, see Deploying Workflows.