Queue(mapping=None, *, ignore_unknown_fields=False, **kwargs)
A queue is a container of related tasks. Queues are configured to manage how those tasks are dispatched. Configurable properties include rate limits, retry options, queue types, and others.
Attributes
Name | Description |
name |
str
Caller-specified and required in CreateQueue, after which it becomes output only. The queue name. The queue name must have the following format: projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID
- PROJECT_ID can contain letters ([A-Za-z]), numbers
([0-9]), hyphens (-), colons (:), or periods (.). For
more information, see `Identifying
projects |
app_engine_routing_override |
google.cloud.tasks_v2.types.AppEngineRouting
Overrides for [task-level app_engine_routing][google.cloud.tasks.v2.AppEngineHttpRequest.app_engine_routing]. These settings apply only to [App Engine tasks][google.cloud.tasks.v2.AppEngineHttpRequest] in this queue. Http tasks are not affected. If set, app_engine_routing_override is used for all [App
Engine tasks][google.cloud.tasks.v2.AppEngineHttpRequest] in
the queue, no matter what the setting is for the [task-level
app_engine_routing][google.cloud.tasks.v2.AppEngineHttpRequest.app_engine_routing].
|
rate_limits |
google.cloud.tasks_v2.types.RateLimits
Rate limits for task dispatches. rate_limits and retry_config are related because they both control task attempts. However they control task attempts in different ways: - rate_limits controls the total rate of dispatches from a queue (i.e. all traffic dispatched from the queue, regardless of whether the dispatch is from a first attempt or a retry). - retry_config controls what happens to particular a task after its first attempt fails. That is, retry_config controls task retries (the second attempt, third attempt, etc). The queue's actual dispatch rate is the result of: - Number of tasks in the queue - User-specified throttling: rate_limits, retry_config, and the [queue's state][google.cloud.tasks.v2.Queue.state]. - System throttling due to 429 (Too Many Requests) or
503 (Service Unavailable) responses from the worker,
high error rates, or to smooth sudden large traffic
spikes.
|
retry_config |
google.cloud.tasks_v2.types.RetryConfig
Settings that determine the retry behavior. - For tasks created using Cloud Tasks: the queue-level retry settings apply to all tasks in the queue that were created using Cloud Tasks. Retry settings cannot be set on individual tasks. - For tasks created using the App Engine SDK: the queue-level retry settings apply to all tasks in the queue which do not have retry settings explicitly set on the task and were created by the App Engine SDK. See `App Engine documentation |
state |
google.cloud.tasks_v2.types.Queue.State
Output only. The state of the queue. state can only be changed by called
PauseQueue,
ResumeQueue,
or uploading
queue.yaml/xml __.
UpdateQueue
cannot be used to change state .
|
purge_time |
google.protobuf.timestamp_pb2.Timestamp
Output only. The last time this queue was purged. All tasks that were created before this time were purged. A queue can be purged using PurgeQueue, the `App Engine Task Queue SDK, or the Cloud Console |
stackdriver_logging_config |
google.cloud.tasks_v2.types.StackdriverLoggingConfig
Configuration options for writing logs to `Stackdriver Logging |
Classes
State
State(value)
State of the queue.
Values: STATE_UNSPECIFIED (0): Unspecified state. RUNNING (1): The queue is running. Tasks can be dispatched.
If the queue was created using Cloud Tasks and the queue has
had no activity (method calls or task dispatches) for 30
days, the queue may take a few minutes to re-activate. Some
method calls may return
`NOT_FOUND][google.rpc.Code.NOT_FOUND]` and tasks may not be
dispatched for a few minutes until the queue has been
re-activated.
PAUSED (2):
Tasks are paused by the user. If the queue is
paused then Cloud Tasks will stop delivering
tasks from it, but more tasks can still be added
to it by the user.
DISABLED (3):
The queue is disabled.
A queue becomes `DISABLED` when
`queue.yaml <https://cloud.google.com/appengine/docs/python/config/queueref>`__
or
`queue.xml <https://cloud.google.com/appengine/docs/standard/java/config/queueref>`__
is uploaded which does not contain the queue. You cannot
directly disable a queue.
When a queue is disabled, tasks can still be added to a
queue but the tasks are not dispatched.
To permanently delete this queue and all of its tasks, call
<xref uid="google.cloud.tasks.v2.CloudTasks.DeleteQueue">DeleteQueue</xref>.