Class: Google::Cloud::Tasks::V2::Queue

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/cloud/tasks/v2/queue.rb

Overview

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.

Defined Under Namespace

Modules: State

Instance Attribute Summary collapse

Instance Attribute Details

#app_engine_routing_override::Google::Cloud::Tasks::V2::AppEngineRouting

Returns Overrides for [task-level app_engine_routing][google.cloud.tasks.v2.AppEngineHttpRequest.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][google.cloud.tasks.v2.AppEngineHttpRequest.app_engine_routing].

Returns:

  • (::Google::Cloud::Tasks::V2::AppEngineRouting)

    Overrides for [task-level app_engine_routing][google.cloud.tasks.v2.AppEngineHttpRequest.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][google.cloud.tasks.v2.AppEngineHttpRequest.app_engine_routing].



133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
# File 'proto_docs/google/cloud/tasks/v2/queue.rb', line 133

class Queue
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # State of the queue.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # 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.
    RUNNING = 1

    # 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.
    PAUSED = 2

    # 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
    # {::Google::Cloud::Tasks::V2::CloudTasks::Client#delete_queue DeleteQueue}.
    DISABLED = 3
  end
end

#name::String

Returns 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
  • LOCATION_ID is the canonical ID for the queue's location. The list of available locations can be obtained by calling ::Google::Cloud::Location::Locations::Client#list_locations. 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.

Returns:

  • (::String)

    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
    • LOCATION_ID is the canonical ID for the queue's location. The list of available locations can be obtained by calling ::Google::Cloud::Location::Locations::Client#list_locations. 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.


133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
# File 'proto_docs/google/cloud/tasks/v2/queue.rb', line 133

class Queue
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # State of the queue.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # 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.
    RUNNING = 1

    # 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.
    PAUSED = 2

    # 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
    # {::Google::Cloud::Tasks::V2::CloudTasks::Client#delete_queue DeleteQueue}.
    DISABLED = 3
  end
end

#purge_time::Google::Protobuf::Timestamp

Returns 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.

Purge time will be truncated to the nearest microsecond. Purge time will be unset if the queue has never been purged.

Returns:



133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
# File 'proto_docs/google/cloud/tasks/v2/queue.rb', line 133

class Queue
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # State of the queue.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # 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.
    RUNNING = 1

    # 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.
    PAUSED = 2

    # 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
    # {::Google::Cloud::Tasks::V2::CloudTasks::Client#delete_queue DeleteQueue}.
    DISABLED = 3
  end
end

#rate_limits::Google::Cloud::Tasks::V2::RateLimits

Returns 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.

Returns:

  • (::Google::Cloud::Tasks::V2::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.


133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
# File 'proto_docs/google/cloud/tasks/v2/queue.rb', line 133

class Queue
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # State of the queue.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # 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.
    RUNNING = 1

    # 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.
    PAUSED = 2

    # 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
    # {::Google::Cloud::Tasks::V2::CloudTasks::Client#delete_queue DeleteQueue}.
    DISABLED = 3
  end
end

#retry_config::Google::Cloud::Tasks::V2::RetryConfig

Returns 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.

Returns:

  • (::Google::Cloud::Tasks::V2::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.


133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
# File 'proto_docs/google/cloud/tasks/v2/queue.rb', line 133

class Queue
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # State of the queue.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # 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.
    RUNNING = 1

    # 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.
    PAUSED = 2

    # 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
    # {::Google::Cloud::Tasks::V2::CloudTasks::Client#delete_queue DeleteQueue}.
    DISABLED = 3
  end
end

#stackdriver_logging_config::Google::Cloud::Tasks::V2::StackdriverLoggingConfig

Returns Configuration options for writing logs to Stackdriver Logging. If this field is unset, then no logs are written.

Returns:



133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
# File 'proto_docs/google/cloud/tasks/v2/queue.rb', line 133

class Queue
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # State of the queue.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # 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.
    RUNNING = 1

    # 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.
    PAUSED = 2

    # 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
    # {::Google::Cloud::Tasks::V2::CloudTasks::Client#delete_queue DeleteQueue}.
    DISABLED = 3
  end
end

#state::Google::Cloud::Tasks::V2::Queue::State

Returns 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.

Returns:



133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
# File 'proto_docs/google/cloud/tasks/v2/queue.rb', line 133

class Queue
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # State of the queue.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # 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.
    RUNNING = 1

    # 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.
    PAUSED = 2

    # 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
    # {::Google::Cloud::Tasks::V2::CloudTasks::Client#delete_queue DeleteQueue}.
    DISABLED = 3
  end
end