Class Task (2.4.0)

public sealed class Task : IMessage<Task>, IEquatable<Task>, IDeepCloneable<Task>, IBufferMessage, IMessage

A unit of scheduled work.

Inheritance

Object > Task

Namespace

Google.Cloud.Tasks.V2

Assembly

Google.Cloud.Tasks.V2.dll

Constructors

Task()

public Task()

Task(Task)

public Task(Task other)
Parameter
NameDescription
otherTask

Properties

AppEngineHttpRequest

public AppEngineHttpRequest AppEngineHttpRequest { get; set; }

HTTP request that is sent to the App Engine app handler.

An App Engine task is a task that has [AppEngineHttpRequest][google.cloud.tasks.v2.AppEngineHttpRequest] set.

Property Value
TypeDescription
AppEngineHttpRequest

CreateTime

public Timestamp CreateTime { get; set; }

Output only. The time that the task was created.

create_time will be truncated to the nearest second.

Property Value
TypeDescription
Timestamp

DispatchCount

public int DispatchCount { get; set; }

Output only. The number of attempts dispatched.

This count includes attempts which have been dispatched but haven't received a response.

Property Value
TypeDescription
Int32

DispatchDeadline

public Duration DispatchDeadline { get; set; }

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 listing 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 the dispatch_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.

Property Value
TypeDescription
Duration

FirstAttempt

public Attempt FirstAttempt { get; set; }

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.

Property Value
TypeDescription
Attempt

HttpRequest

public HttpRequest HttpRequest { get; set; }

HTTP request that is sent to the worker.

An HTTP task is a task that has [HttpRequest][google.cloud.tasks.v2.HttpRequest] set.

Property Value
TypeDescription
HttpRequest

LastAttempt

public Attempt LastAttempt { get; set; }

Output only. The status of the task's last attempt.

Property Value
TypeDescription
Attempt

MessageTypeCase

public Task.MessageTypeOneofCase MessageTypeCase { get; }
Property Value
TypeDescription
Task.MessageTypeOneofCase

Name

public string Name { get; set; }

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 projects
  • LOCATION_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.
Property Value
TypeDescription
String

ResponseCount

public int ResponseCount { get; set; }

Output only. The number of attempts which have received a response.

Property Value
TypeDescription
Int32

ScheduleTime

public Timestamp ScheduleTime { get; set; }

The time when the task is scheduled to be attempted or retried.

schedule_time will be truncated to the nearest microsecond.

Property Value
TypeDescription
Timestamp

TaskName

public TaskName TaskName { get; set; }

TaskName-typed view over the Name resource name property.

Property Value
TypeDescription
TaskName

View

public Task.Types.View View { get; set; }

Output only. The view specifies which subset of the [Task][google.cloud.tasks.v2.Task] has been returned.

Property Value
TypeDescription
Task.Types.View