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

La coda di attività dei pacchetti fornisce un client per il servizio coda di attività di App Engine. Utilizzando questo servizio, le applicazioni potrebbero non soddisfare la richiesta dell'utente.

Un'attività può essere creata manualmente. In alternativa, poiché l'operazione più comune della coda di attività consiste nell'aggiungere una singola attività POST, NewPOSTTask semplifica questa operazione.

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

Variabili

AttivitàGiornata aggiunta

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")
)

Funzioni

funzione Elimina

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

Il pulsante Elimina elimina un'attività da una coda denominata.

funzione DeleteMulti

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

DeleteMulti elimina più attività da una coda denominata. Se non è stato possibile eliminare una determinata attività, viene restituito un appengine.MultiError. Ogni attività viene eliminata in modo indipendente: una potrebbe non riuscire a essere eliminata mentre le altre vengono eliminate correttamente.

funzione ModificaLease

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

ModificaLease modifica il lease di un'attività. Utilizzato per richiedere più tempo di elaborazione o per abbandonare l'elaborazione. LeaseTime è espresso in secondi e non deve essere negativo.

funzione Eliminazione definitiva

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

L'eliminazione definitiva rimuove tutte le attività da una coda.

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
}

Queue Statistics rappresenta le statistiche relative a una singola coda di attività.

statistiche coda func

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

QueueStats recupera le statistiche sulle code.

Intestazioni richieste

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

	TaskPreviousResponse int
	TaskRetryReason      string
	FailFast             bool
}

Le RequestHeaders sono le intestazioni delle richieste HTTP speciali disponibili per il push dei gestori di richieste HTTP delle attività. Queste intestazioni sono impostate internamente da App Engine. Consulta la pagina https://cloud.google.com/appengine/docs/standard/go/taskqueue/push/Creating-handlers#reading_request_headers per una descrizione dei campi.

func ParseRequestHeaders

func ParseRequestHeaders(h http.Header) *RequestHeaders

ParseRequestHeaders analizza le intestazioni delle richieste HTTP speciali disponibili per il push dei gestori delle richieste delle attività. Questa funzione ignora automaticamente i valori del formato errato.

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
}

RiprovaOpzioni consente di decidere se riprovare un'attività e gli intervalli di backoff tra i tentativi.

Attività

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

Un'attività rappresenta un'attività da eseguire.

funzione Aggiungi

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

Aggiungi aggiunge l'attività a una coda denominata. Se il nome della coda è vuoto, verrà utilizzata la coda predefinita. Add restituisce un'attività equivalente in cui sono compilati i valori predefiniti, compresa l'impostazione del campo Nome dell'attività sul nome scelto se l'originale era vuoto.

funzione AddMulti

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

AddMulti aggiunge più attività a una coda denominata. Se il nome della coda è vuoto, verrà utilizzata la coda predefinita. AddMulti restituisce una parte delle attività equivalenti con i valori predefiniti, compresa l'impostazione del campo Nome di ogni attività sul nome scelto se l'originale era vuoto. Se una determinata attività non è stata formattata correttamente o non è stato possibile aggiungerla, viene restituito un appengine.MultiError.

Lease funzione

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

Lease del lease delle attività da una coda. LeaseTime è in secondi. Il numero di attività recuperate sarà al massimo maxTasks.

funzione LeaseByTag

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

LeaseByTag lease delle attività da una coda, raggruppate per tag. Se il tag è vuoto, le attività restituite vengono raggruppate in base al tag dell'attività con l'orario di arrivo stimato meno recente. LeaseTime è in secondi. Il numero di attività recuperate sarà al massimo maxTasks.

funzione NewPOSTTask

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

NewPOSTTask crea un'attività che verrà POST su un percorso con i dati del modulo specificati.