Class Queue (2.15.0)

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.


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
Overrides for [task-level app_engine_routing][]. These settings apply only to [App Engine tasks][] in this queue. Http tasks are not affected. If set, app_engine_routing_override is used for all [App Engine tasks][] in the queue, no matter what the setting is for the [task-level app_engine_routing][].
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][]. - 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.
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
Output only. The state of the queue. state can only be changed by calling 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
Configuration options for writing logs to `Stackdriver Logging




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
    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.
    The queue is disabled.

    A queue becomes `DISABLED` when
    `queue.yaml <>`__
    `queue.xml <>`__
    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="">DeleteQueue</xref>.