Queue

Struct Queue 

Source
#[non_exhaustive]
pub struct Queue { pub name: String, pub app_engine_routing_override: Option<AppEngineRouting>, pub rate_limits: Option<RateLimits>, pub retry_config: Option<RetryConfig>, pub state: State, pub purge_time: Option<Timestamp>, pub stackdriver_logging_config: Option<StackdriverLoggingConfig>, /* private fields */ }
Expand description

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.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§name: 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 [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.
§app_engine_routing_override: Option<AppEngineRouting>

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: Option<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.
  • 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: Option<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: State

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: Option<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.

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

§stackdriver_logging_config: Option<StackdriverLoggingConfig>

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

Implementations§

Source§

impl Queue

Source

pub fn new() -> Self

Source

pub fn set_name<T: Into<String>>(self, v: T) -> Self

Sets the value of name.

Source

pub fn set_app_engine_routing_override<T>(self, v: T) -> Self

Sets the value of app_engine_routing_override.

Source

pub fn set_or_clear_app_engine_routing_override<T>(self, v: Option<T>) -> Self

Sets or clears the value of app_engine_routing_override.

Source

pub fn set_rate_limits<T>(self, v: T) -> Self
where T: Into<RateLimits>,

Sets the value of rate_limits.

Source

pub fn set_or_clear_rate_limits<T>(self, v: Option<T>) -> Self
where T: Into<RateLimits>,

Sets or clears the value of rate_limits.

Source

pub fn set_retry_config<T>(self, v: T) -> Self
where T: Into<RetryConfig>,

Sets the value of retry_config.

Source

pub fn set_or_clear_retry_config<T>(self, v: Option<T>) -> Self
where T: Into<RetryConfig>,

Sets or clears the value of retry_config.

Source

pub fn set_state<T: Into<State>>(self, v: T) -> Self

Sets the value of state.

Source

pub fn set_purge_time<T>(self, v: T) -> Self
where T: Into<Timestamp>,

Sets the value of purge_time.

Source

pub fn set_or_clear_purge_time<T>(self, v: Option<T>) -> Self
where T: Into<Timestamp>,

Sets or clears the value of purge_time.

Source

pub fn set_stackdriver_logging_config<T>(self, v: T) -> Self

Sets the value of stackdriver_logging_config.

Source

pub fn set_or_clear_stackdriver_logging_config<T>(self, v: Option<T>) -> Self

Sets or clears the value of stackdriver_logging_config.

Trait Implementations§

Source§

impl Clone for Queue

Source§

fn clone(&self) -> Queue

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Queue

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Queue

Source§

fn default() -> Queue

Returns the “default value” for a type. Read more
Source§

impl Message for Queue

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for Queue

Source§

fn eq(&self, other: &Queue) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for Queue

Auto Trait Implementations§

§

impl Freeze for Queue

§

impl RefUnwindSafe for Queue

§

impl Send for Queue

§

impl Sync for Queue

§

impl Unpin for Queue

§

impl UnwindSafe for Queue

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,