This document lists the quotas and limits that apply to Workflows.
A quota restricts how much of a particular shared Google Cloud resource your Google Cloud project can use, including hardware, software, and network components.
Quotas are part of a system that does the following:
- Monitors your use or consumption of Google Cloud products and services.
- Restricts your consumption of those resources for reasons including ensuring fairness and reducing spikes in usage.
- Maintains configurations that automatically enforce prescribed restrictions.
- Provides a means to make or request changes to the quota.
When a quota is exceeded, in most cases, the system immediately blocks access to the relevant Google resource, and the task that you're trying to perform fails. In most cases, quotas apply to each Google Cloud project and are shared across all applications and IP addresses that use that Google Cloud project.
There are also limits on Workflows resources. These limits are unrelated to the quota system. Limits cannot be changed unless otherwise stated.
Quotas
Workflows enforces the following quotas for each Google Cloud project:
Quota | Description | Value |
---|---|---|
Total workflows | The maximum number of workflows you can deploy per project | 10,000 |
Concurrent executions | The maximum number of active workflow executions per region, per
project; concurrent executions are those that have started and not yet
completed or failed, including any that are waiting. Once the limit is
reached, new executions fail with an HTTP 429 Too many requests
status code. |
2,000 |
Workflow API requests | The maximum number of API requests (create ,
update , list , get ,
delete ) from all workflows in your project
(per minute per location) |
1,200 |
Execution API get requests | The maximum number of requests to get
workflow executions from all workflows in your project (per minute per
location) |
6,000 |
Execution API list requests | The maximum number of requests to
list
workflow executions from all workflows in your project (per minute per
location) |
1,200 |
Execution API write requests | The maximum number of requests to
create
and
cancel
workflow executions (including Eventarc-triggered
executions) from all workflows in your project (per minute per
location).
If Eventarc-triggered executions exceed this maximum, the events are retried following the Eventarc retry policy. |
6,000 |
HTTP requests to callback endpoints | The maximum number of SendHttpCallback API requests per
minute per location made on execution resources from all workflows in your
project |
1,500 |
Quota increase requests
To increase or decrease quotas, use the Google Cloud console. For more information, see Requesting a higher quota.
Step limits
Workflows enforces the following step limits for each workflow:
Limit | Description | Value |
---|---|---|
Assignments per step | The maximum number of assignments that may be performed in a single step | 50 |
Conditions per switch | The maximum number of conditions that may be evaluated in a single switch block | 50 |
Maximum call stack depth | The maximum number of levels of calling functions; for example, when a subworkflow calls itself or another subworkflow; or, standard library function calls that in turn call other functions | 20 |
Minimum steps | The minimum number of steps within a workflow | 1 |
Maximum steps | The maximum number of steps that may be performed in a single workflow execution | 100,000 |
Parallel steps
Workflows enforces the following limits when using parallel steps:
Limit | Description | Value |
---|---|---|
Branches per step | The maximum number of branches supported within a parallel step | 10 |
Parallel depth | The maximum depth that parallel steps can be nested | 2 |
Concurrent branches and iterations | The maximum number of branches and iterations that can concurrently execute within a single workflow execution before further branches and iterations are automatically queued to wait for one or more running threads to complete. There is no total thread count limit; however, all other limits apply. |
20 |
Uncaught exceptions within a parallel step | The maximum number of unhandled exceptions that can be raised during the execution of the workflow (in total) | 100 |
Resource limits
Workflows enforces the following usage limits:
Limit | Description | Value |
---|---|---|
Source code size | The maximum size of the YAML or JSON file that defines your workflow | 128 KB |
Response size | The maximum size of an HTTP response (if saved to a variable, the memory limit for variables applies) | 2 MB |
Expression length | The maximum number of characters in a single expression | 400 characters |
Data size | The maximum cumulative size for variables, arguments, and events: | 512 KB |
|
||
|
||
|
||
Execution duration | The maximum duration (from start time to end time) for a workflow execution; any workflow that passes this limit ends with a time-out error | 1 year |
Execution retention | The maximum retention period (after a workflow execution completes) of an execution's history and results | 90 days |