Stay organized with collections Save and categorize content based on your preferences.
Region IDThe REGION_ID
is an abbreviated code that Google assigns based on the region you select when you create your app. The code does not correspond to a country or province, even though some region IDs may appear similar to commonly used country and province codes. For apps created after February 2020, REGION_ID.r
is included in App Engine URLs. For existing apps created before this date, the region ID is optional in the URL.
Learn more about region IDs.
The queue.yaml
configuration file is used to create and configure almost all of the task queues (push) your app uses. All App Engine apps come with an automatically preconfigured push queue named default
. Although you do not create the default
queue yourself, you can add other queues or change the configuration of the default
queue using the queue.yaml
file.
To configure push queues, you can use either queue.yaml
or Queue Management methods from Cloud Tasks, but not both at the same time. Mixing the queue.yaml
upload method with Queue Management methods can produce unexpected results and is not recommended.
queue.yaml
file via the gcloud CLI below version 332.0.0
uses a deprecated interface to the service. Starting on 2022-09-20
, attempts to use the upload method can fail with server errors. To resolve this, make sure the Cloud Tasks API is enabled in your project and your gcloud CLI is updated to at least version 332.0.0
. Example
The following a basic example that defines a named queue and overrides the default processing rate:
queue:
- name: my-push-queue
rate: 1/s
The following is a more complex example of a queue.yaml
configuration that demonstrates setting up the number of task tries and modifying the default processing rate.
queue:
- name: fooqueue
rate: 1/s
retry_parameters:
task_retry_limit: 7
task_age_limit: 2d
- name: barqueue
rate: 1/s
retry_parameters:
min_backoff_seconds: 10
max_backoff_seconds: 200
max_doublings: 0
- name: bazqueue
rate: 1/s
retry_parameters:
min_backoff_seconds: 10
max_backoff_seconds: 200
max_doublings: 3
Syntax
The queue.yaml
file is a YAML file whose root directive is queue
. This directive contains zero or more named queues. Each queue definition can specify the following elements:
bucket_size
(push queues)
Optional. A task queue uses the token bucket algorithm to control the rate of task execution. Each named queue has a token bucket that holds tokens, up to the maximum specified by the bucket_size value. Each time your application executes a task, a token is removed from the bucket. You continue processing tasks in the queue until the queue's bucket runs out of tokens. App Engine refills the bucket with new tokens continuously based on the rate that you specified for the queue.
The bucket size limits how fast the queue is processed when many tasks are in the queue and the rate is high. The maximum value for bucket size is 500. This allows you to have a high rate so processing starts shortly after a task is enqueued, but still limit resource usage when many tasks are enqueued in a short period of time.
If you don't specify bucket_size for a queue, the default value is 5. We recommend that you set this to a larger value because the default size might be too small for many use cases. For example, you could determine your bucket size based on the processing rate.
For more information on this element, see the comparative description of max_burst_size
max_concurrent_requests
(push queues)
Optional. Sets the maximum number of tasks that can be executed simultaneously from the specified queue. The value is an integer. By default, the limit is 1000 tasks per queue. The upper recommended limit is 5000 tasks per queue. Note that queues may slowly ramp up when they are first created or if they have been idle for a while.
Restricting the number of concurrent tasks gives you more control over the queue's rate of execution and can prevent too many tasks from running at once. It can also prevent datastore contention and make resources available for other queues or online processing.
For more information on this element, see the comparative description of max_concurrent_dispatches
in the Cloud Tasks API reference.
name
Required. The name of the queue.
A queue name can contain uppercase and lowercase letters, numbers, and hyphens. The maximum length for a queue name is 100 characters.
All apps have a push queue named default. This queue has a preset rate of 5 tasks per second. Note that this default queue doesn't display in the Google Cloud console until the first time it is used or configured. You can configure the default queue, including changing the default rate, by defining a queue named `default` in your queue.yaml
file.
rate
(push queues)
Required. How often tasks are processed on this queue. The value is a number followed by a slash and a unit of time, where the unit is s
for seconds, m
for minutes, h
for hours, or d
for days. For example, the value 5/m
says tasks will be processed at a rate of 5 times per minute. The maximum value for rate
is 500/s
.
If the number is 0
(such as 0/s
), the queue is considered "paused," and no tasks are processed.
For more information on this element, see the comparative description of max_dispatches_per_second
in the Cloud Tasks API reference.
retry_parameters
Optional. Configures retry attempts for failed tasks in push queues. This addition allows you to specify the maximum number of times to retry failed tasks in a specific queue. You can also set a time limit for retry attempts and control the interval between attempts.
The retry parameters can contain the following subelements:
task_retry_limit
0
is specified and the task fails, the task is not retried at all. If 1
is specified and the task fails, the task is retried once. If this parameter is unspecified, the task is retried indefinitely. If task_retry_limit
is specified with task_age_limit
, the task is retried until both limits are reached.
task_age_limit
(push queues)
s
for seconds, m
for minutes, h
for hours, or d
for days. For example, the value 5d
specifies a limit of five days after the task's first execution attempt. If this parameter is unspecified, the task is retried indefinitely. If specified with task_retry_limit
, App Engine retries the task until both limits are reached.
min_backoff_seconds
(push queues)
0.1
.
max_backoff_seconds
(push queues)
3600
.
max_doublings
(push queues)
2**max_doublings * min_backoff_seconds
. The default value is 16
.
target
(push queues)
Optional. A string naming a service/version, a frontend version, or a backend, on which to execute all of the tasks enqueued onto this queue. The default value is the empty string.
The string is prepended to the domain name of your app when constructing the HTTP request for a task. For example, if your app ID is my-app
and you set the target to my-version-dot-my-service
, the URL hostname will be set to my-version-dot-my-service-dot-my-app.REGION_ID.r.appspot.com
.
If target is unspecified, then tasks are invoked on the same version of the application where they were enqueued. So, if you enqueued a task from the default application version without specifying a target on the queue, the task is invoked in the default application version. Note that if the default application version changes between the time that the task is enqueued and the time that it executes, then the task will run in the new default version.
If you are using services along with a dispatch file, your task's HTTP request might be intercepted and re-routed to another service.
The following elements can be specified for all queues within an app:
Deploying the queue configuration fileThe
queue.yaml
file should reside in the root directory or in the directory that defines the default service.
To deploy the queue configuration file, run the following command:
gcloud app deploy queue.yaml
Deleting queues
To delete a queue:
Remove the queue definition from your queue.yaml
file.
Upload the change to your queue.yaml
file.
gcloud app deploy queue.yaml
Delete the queue in the Google Cloud console, select the queue and click Delete queue:
If you delete a queue from the Google Cloud console, you must wait 7 days before recreating with the same name.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-07 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["The `REGION_ID` is a code assigned by Google based on the region selected during app creation, included in App Engine URLs for apps created after February 2020, but it does not directly correspond to specific countries or provinces."],["The `queue.yaml` file configures push task queues for App Engine apps, including the default queue, and allows adding additional queues or altering the default queue's settings."],["`queue.yaml` and Cloud Tasks Queue Management methods should not be mixed when configuring push queues, as doing so can cause unexpected issues, which is why it is recommended to use one method or the other."],["The `queue.yaml` file defines queue elements like `bucket_size`, `max_concurrent_requests`, `name`, `rate`, `retry_parameters`, and `target`, which control how tasks are processed and managed."],["To deploy changes made in `queue.yaml` you need to run `gcloud app deploy queue.yaml`, and to delete a queue, its definition must be removed from the file, deployed, and then deleted in the Google Cloud console."]]],[]]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4