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

O pacote taskqueue fornece um cliente para o serviço taskqueue do App Engine. Usando esse serviço, os aplicativos podem realizar trabalhos fora de uma solicitação do usuário.

É possível criar uma tarefa manualmente, mas como a maioria das operações taskqueue mais comuns é adicionar uma única tarefa POST, NewPOSTTask é uma alternativa mais fácil.

t := taskqueue.NewPOSTTask("/worker", url.Values{
    "key": {key},
})
taskqueue.Add(c, t, "") // add t to the default queue

Variáveis

ErrTaskAlreadyAdded

var (
	// ErrTaskAlreadyAdded is the error returned by Add and AddMulti when a task has already been added with a particular name.
	ErrTaskAlreadyAdded = errors.New("taskqueue: task has already been added")
)

Funções

func Delete

func Delete(c context.Context, task *Task, queueName string) error

"Delete" exclui uma tarefa de uma fila nomeada.

func DeleteMulti

func DeleteMulti(c context.Context, tasks []*Task, queueName string) error

"DeleteMulti" exclui várias tarefas de uma fila nomeada. Se uma determinada tarefa não puder ser excluída, um appengine.MultiError é retornado. Cada tarefa é excluída de forma independente; pode acontecer de uma pode não ser excluída e as outras serem excluídas com sucesso.

func ModifyLease

func ModifyLease(c context.Context, task *Task, queueName string, leaseTime int) error

"ModifyLease" modifica a alocação de uma tarefa. Usado para solicitar mais tempo de processamento ou para abandonar o processamento. O leaseTime está em segundos e não pode ser negativo.

func Purge

func Purge(c context.Context, queueName string) error

"Purge" remove todas as tarefas de uma fila.

QueueStatistics

type QueueStatistics struct {
	Tasks     int       // may be an approximation
	OldestETA time.Time // zero if there are no pending tasks

	Executed1Minute int     // tasks executed in the last minute
	InFlight        int     // tasks executing now
	EnforcedRate    float64 // requests per second
}

"QueueStatistics" representa estatísticas sobre uma única fila de tarefas.

func QueueStats

func QueueStats(c context.Context, queueNames []string) ([]QueueStatistics, error)

"QueueStats" recupera estatísticas sobre filas.

RequestHeaders

type RequestHeaders struct {
	QueueName          string
	TaskName           string
	TaskRetryCount     int64
	TaskExecutionCount int64
	TaskETA            time.Time

	TaskPreviousResponse int
	TaskRetryReason      string
	FailFast             bool
}

RequestHeaders são os cabeçalhos de solicitação HTTP especiais disponíveis para enviar gerenciadores de solicitações HTTP de tarefas. Esses cabeçalhos são definidos internamente pelo App Engine. Veja uma descrição dos campos em https://cloud.google.com/appengine/docs/standard/go/Crashlytics/push/Creating-Handlers#reading_request_headers.

função ParseRequestHeaders

func ParseRequestHeaders(h http.Header) *RequestHeaders

A ParseRequestHeaders analisa os cabeçalhos de solicitação HTTP especial disponíveis para enviar gerenciadores de solicitações de tarefa. Esta função ignora silenciosamente os valores do formato errado.

RetryOptions

type RetryOptions struct {
	// 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.
	RetryLimit int32

	// 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.
	AgeLimit time.Duration

	// Minimum time between successive tries (only for push tasks).
	MinBackoff time.Duration

	// Maximum time between successive tries (only for push tasks).
	MaxBackoff time.Duration

	// Maximum number of times to double the interval between successive tries before the intervals increase linearly (only for push tasks).
	MaxDoublings int32

	// 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.
	ApplyZeroMaxDoublings bool
}

"RetryOptions" permite que você controle se deve tentar novamente uma tarefa e os intervalos de retirada entre as tentativas.

Tarefa

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

"Task" representa uma tarefa a ser executada.

func Add

func Add(c context.Context, task *Task, queueName string) (*Task, error)

"Add" adiciona a tarefa a uma fila nomeada. Um nome de fila vazio significa que a fila padrão será usada. "Add" retorna uma tarefa equivalente com as opções padrão preenchidas, incluindo a configuração do campo do nome da tarefa com o nome escolhido se o original estava vazio.

func AddMulti

func AddMulti(c context.Context, tasks []*Task, queueName string) ([]*Task, error)

"AddMulti" adiciona várias tarefas a uma fila nomeada. Um nome de fila vazio significa que a fila padrão será usada. "AddMulti" retorna uma parte das tarefas equivalentes com as opções padrão preenchidas, incluindo a configuração do campo do nome da tarefa com o nome escolhido se o original estava vazio. Se uma determinada tarefa estiver mal formada ou não puder ser adicionada, um appengine.MultiError é retornado.

func Lease

func Lease(c context.Context, maxTasks int, queueName string, leaseTime int) ([]*Task, error)

"Lease" aloca tarefas de uma fila. "leaseTime" é medido em segundos. O número de tarefas buscadas será no máximo maxTasks.

func LeaseByTag

func LeaseByTag(c context.Context, maxTasks int, queueName string, leaseTime int, tag string) ([]*Task, error)

"LeaseByTag" aloca tarefas de uma fila, agrupadas por uma tag. Se a tag estiver vazia, as tarefas retornadas serão agrupadas pela tag da tarefa com o ETA mais antigo. O leaseTime está em segundos. O número de tarefas buscadas será no máximo maxTasks.

func NewPOSTTask

func NewPOSTTask(path string, params url.Values) *Task

NewPOSTTask cria uma Task que vai realizar o POST para um caminho com os dados de um determinado formulário.