pub struct Task {
pub name: String,
pub schedule_time: Option<Timestamp>,
pub create_time: Option<Timestamp>,
pub dispatch_deadline: Option<Duration>,
pub dispatch_count: i32,
pub response_count: i32,
pub first_attempt: Option<Attempt>,
pub last_attempt: Option<Attempt>,
pub view: i32,
pub message_type: Option<MessageType>,
}
Expand description
A unit of scheduled work.
Fields§
§name: String
Optionally caller-specified in [CreateTask][google.cloud.tasks.v2.CloudTasks.CreateTask].
The task name.
The task name must have the following format:
projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_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 task’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.TASK_ID
can contain only letters ([A-Za-z]), numbers ([0-9]), hyphens (-), or underscores (_). The maximum length is 500 characters.
schedule_time: Option<Timestamp>
The time when the task is scheduled to be attempted or retried.
schedule_time
will be truncated to the nearest microsecond.
create_time: Option<Timestamp>
Output only. The time that the task was created.
create_time
will be truncated to the nearest second.
dispatch_deadline: Option<Duration>
The deadline for requests sent to the worker. If the worker does not
respond by this deadline then the request is cancelled and the attempt
is marked as a DEADLINE_EXCEEDED
failure. Cloud Tasks will retry the
task according to the [RetryConfig][google.cloud.tasks.v2.RetryConfig].
Note that when the request is cancelled, Cloud Tasks will stop listening for the response, but whether the worker stops processing depends on the worker. For example, if the worker is stuck, it may not react to cancelled requests.
The default and maximum values depend on the type of request:
-
For [HTTP tasks][google.cloud.tasks.v2.HttpRequest], the default is 10 minutes. The deadline must be in the interval [15 seconds, 30 minutes].
-
For [App Engine tasks][google.cloud.tasks.v2.AppEngineHttpRequest], 0 indicates that the request has the default deadline. The default deadline depends on the scaling type of the service: 10 minutes for standard apps with automatic scaling, 24 hours for standard apps with manual and basic scaling, and 60 minutes for flex apps. If the request deadline is set, it must be in the interval [15 seconds, 24 hours 15 seconds]. Regardless of the task’s
dispatch_deadline
, the app handler will not run for longer than than the service’s timeout. We recommend setting thedispatch_deadline
to at most a few seconds more than the app handler’s timeout. For more information see Timeouts.
dispatch_deadline
will be truncated to the nearest millisecond. The
deadline is an approximate deadline.
dispatch_count: i32
Output only. The number of attempts dispatched.
This count includes attempts which have been dispatched but haven’t received a response.
response_count: i32
Output only. The number of attempts which have received a response.
first_attempt: Option<Attempt>
Output only. The status of the task’s first attempt.
Only [dispatch_time][google.cloud.tasks.v2.Attempt.dispatch_time] will be set. The other [Attempt][google.cloud.tasks.v2.Attempt] information is not retained by Cloud Tasks.
last_attempt: Option<Attempt>
Output only. The status of the task’s last attempt.
view: i32
Output only. The view specifies which subset of the [Task][google.cloud.tasks.v2.Task] has been returned.
message_type: Option<MessageType>
Required. The message to send to the worker.
Implementations§
Trait Implementations§
source§impl Message for Task
impl Message for Task
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.source§impl PartialEq for Task
impl PartialEq for Task
impl StructuralPartialEq for Task
Auto Trait Implementations§
impl !Freeze for Task
impl RefUnwindSafe for Task
impl Send for Task
impl Sync for Task
impl Unpin for Task
impl UnwindSafe for Task
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request