Go 1.11 has reached end of support and will be deprecated on January 31, 2026. After deprecation, you won't be able to deploy Go 1.11 applications, even if your organization previously used an organization policy to re-enable deployments of legacy runtimes. Your existing Go 1.11 applications will continue to run and receive traffic after their deprecation date. We recommend that you migrate to the latest supported version of Go.

Package google.golang.org/appengine/taskqueue (v1.6.8)

Package taskqueue provides a client for App Engine's taskqueue service. Using this service, applications may perform work outside a user's request.

A Task may be constructed manually; alternatively, since the most common taskqueue operation is to add a single POST task, NewPOSTTask makes it easy.

t:=taskqueue.NewPOSTTask("/worker",url.Values{
"key":{key},
})
taskqueue.Add(c,t,"")//addttothedefaultqueue

Variables

ErrTaskAlreadyAdded

var(
//ErrTaskAlreadyAddedistheerrorreturnedbyAddandAddMultiwhenataskhasalreadybeenaddedwithaparticularname.
ErrTaskAlreadyAdded=errors .New ("taskqueue: task has already been added")
)

Functions

func Delete

funcDelete(ccontext .Context ,task*Task ,queueNamestring )error 

Delete deletes a task from a named queue.

func DeleteMulti

funcDeleteMulti(ccontext .Context ,tasks[]*Task ,queueNamestring )error 

DeleteMulti deletes multiple tasks from a named queue. If a given task could not be deleted, an appengine.MultiError is returned. Each task is deleted independently; one may fail to delete while the others are successfully deleted.

func ModifyLease

funcModifyLease(ccontext .Context ,task*Task ,queueNamestring ,leaseTimeint )error 

ModifyLease modifies the lease of a task. Used to request more processing time, or to abandon processing. leaseTime is in seconds and must not be negative.

func Purge

funcPurge(ccontext .Context ,queueNamestring )error 

Purge removes all tasks from a queue.

QueueStatistics

typeQueueStatisticsstruct{
Tasksint // may be an approximation
OldestETAtime .Time // zero if there are no pending tasks
Executed1Minuteint // tasks executed in the last minute
InFlightint // tasks executing now
EnforcedRatefloat64 // requests per second
}

QueueStatistics represents statistics about a single task queue.

func QueueStats

funcQueueStats(ccontext .Context ,queueNames[]string )([]QueueStatistics ,error )

QueueStats retrieves statistics about queues.

RequestHeaders

typeRequestHeadersstruct{
QueueNamestring
TaskNamestring
TaskRetryCountint64
TaskExecutionCountint64
TaskETAtime .Time
TaskPreviousResponseint
TaskRetryReasonstring
FailFastbool
}

RequestHeaders are the special HTTP request headers available to push task HTTP request handlers. These headers are set internally by App Engine. See https://cloud.google.com/appengine/docs/standard/go/taskqueue/push/creating-handlers#reading_request_headers for a description of the fields.

func ParseRequestHeaders

funcParseRequestHeaders(hhttp .Header )*RequestHeaders 

ParseRequestHeaders parses the special HTTP request headers available to push task request handlers. This function silently ignores values of the wrong format.

RetryOptions

typeRetryOptionsstruct{
// Number of tries/leases after which the task fails permanently and is deleted.
// If AgeLimit is also set, both limits must be exceeded for the task to fail permanently.
RetryLimitint32
// Maximum time allowed since the task's first try before the task fails permanently and is deleted (only for push tasks).
// If RetryLimit is also set, both limits must be exceeded for the task to fail permanently.
AgeLimittime .Duration
// Minimum time between successive tries (only for push tasks).
MinBackofftime .Duration
// Maximum time between successive tries (only for push tasks).
MaxBackofftime .Duration
// Maximum number of times to double the interval between successive tries before the intervals increase linearly (only for push tasks).
MaxDoublingsint32
// If MaxDoublings is zero, set ApplyZeroMaxDoublings to true to override the default non-zero value.
// Otherwise a zero MaxDoublings is ignored and the default is used.
ApplyZeroMaxDoublingsbool
}

RetryOptions let you control whether to retry a task and the backoff intervals between tries.

Task

typeTaskstruct{
// Path is the worker URL for the task.
// If unset, it will default to /_ah/queue/

A Task represents a task to be executed.

func Add

funcAdd(ccontext .Context ,task*Task ,queueNamestring )(*Task ,error )

Add adds the task to a named queue. An empty queue name means that the default queue will be used. Add returns an equivalent Task with defaults filled in, including setting the task's Name field to the chosen name if the original was empty.

func AddMulti

funcAddMulti(ccontext .Context ,tasks[]*Task ,queueNamestring )([]*Task ,error )

AddMulti adds multiple tasks to a named queue. An empty queue name means that the default queue will be used. AddMulti returns a slice of equivalent tasks with defaults filled in, including setting each task's Name field to the chosen name if the original was empty. If a given task is badly formed or could not be added, an appengine.MultiError is returned.

func Lease

funcLease(ccontext .Context ,maxTasksint ,queueNamestring ,leaseTimeint )([]*Task ,error )

Lease leases tasks from a queue. leaseTime is in seconds. The number of tasks fetched will be at most maxTasks.

func LeaseByTag

funcLeaseByTag(ccontext .Context ,maxTasksint ,queueNamestring ,leaseTimeint ,tagstring )([]*Task ,error )

LeaseByTag leases tasks from a queue, grouped by tag. If tag is empty, then the returned tasks are grouped by the tag of the task with earliest ETA. leaseTime is in seconds. The number of tasks fetched will be at most maxTasks.

func NewPOSTTask

funcNewPOSTTask(pathstring ,paramsurl .Values )*Task 

NewPOSTTask creates a Task that will POST to a path with the given form data.

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025年10月30日 UTC.