public sealed class Queue : IMessage<Queue>, IEquatable<Queue>, IDeepCloneable<Queue>, IBufferMessage, IMessage
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.
Namespace
Google.Cloud.Tasks.V2Assembly
Google.Cloud.Tasks.V2.dll
Constructors
Queue()
public Queue()
Queue(Queue)
public Queue(Queue other)
Parameter | |
---|---|
Name | Description |
other | Queue |
Properties
AppEngineRoutingOverride
public AppEngineRouting AppEngineRoutingOverride { get; set; }
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][google.cloud.tasks.v2.HttpRequest] 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].
Property Value | |
---|---|
Type | Description |
AppEngineRouting |
Name
public string Name { get; set; }
Caller-specified and required in [CreateQueue][google.cloud.tasks.v2.CloudTasks.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 projectsLOCATION_ID
is the canonical ID for the queue's location. The list of available locations can be obtained by calling [ListLocations][google.cloud.location.Locations.ListLocations]. For more information, see https://cloud.google.com/about/locations/.QUEUE_ID
can contain letters ([A-Za-z]), numbers ([0-9]), or hyphens (-). The maximum length is 100 characters.
Property Value | |
---|---|
Type | Description |
String |
PurgeTime
public Timestamp PurgeTime { get; set; }
Output only. The last time this queue was purged.
All tasks that were [created][google.cloud.tasks.v2.Task.create_time] before this time were purged.
A queue can be purged using [PurgeQueue][google.cloud.tasks.v2.CloudTasks.PurgeQueue], the App Engine Task Queue SDK, or the Cloud Console.
Purge time will be truncated to the nearest microsecond. Purge time will be unset if the queue has never been purged.
Property Value | |
---|---|
Type | Description |
Timestamp |
QueueName
public QueueName QueueName { get; set; }
Property Value | |
---|---|
Type | Description |
QueueName |
RateLimits
public RateLimits RateLimits { get; set; }
Rate limits for task dispatches.
[rate_limits][google.cloud.tasks.v2.Queue.rate_limits] and [retry_config][google.cloud.tasks.v2.Queue.retry_config] are related because they both control task attempts. However they control task attempts in different ways:
- [rate_limits][google.cloud.tasks.v2.Queue.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][google.cloud.tasks.v2.Queue.retry_config] controls what happens to particular a task after its first attempt fails. That is, [retry_config][google.cloud.tasks.v2.Queue.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][google.cloud.tasks.v2.Queue.rate_limits], [retry_config][google.cloud.tasks.v2.Queue.retry_config], and the [queue's state][google.cloud.tasks.v2.Queue.state].
- System throttling due to
429
(Too Many Requests) or503
(Service Unavailable) responses from the worker, high error rates, or to smooth sudden large traffic spikes.
Property Value | |
---|---|
Type | Description |
RateLimits |
RetryConfig
public RetryConfig RetryConfig { get; set; }
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.
Property Value | |
---|---|
Type | Description |
RetryConfig |
StackdriverLoggingConfig
public StackdriverLoggingConfig StackdriverLoggingConfig { get; set; }
Configuration options for writing logs to Stackdriver Logging. If this field is unset, then no logs are written.
Property Value | |
---|---|
Type | Description |
StackdriverLoggingConfig |
State
public Queue.Types.State State { get; set; }
Output only. The state of the queue.
state
can only be changed by called
[PauseQueue][google.cloud.tasks.v2.CloudTasks.PauseQueue],
[ResumeQueue][google.cloud.tasks.v2.CloudTasks.ResumeQueue], or uploading
queue.yaml/xml.
[UpdateQueue][google.cloud.tasks.v2.CloudTasks.UpdateQueue] cannot be used to change state
.
Property Value | |
---|---|
Type | Description |
Queue.Types.State |