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
Il pulsante Elimina elimina un'attività da una coda denominata.
funzione DeleteMulti
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
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
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
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
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
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
NewPOSTTask crea un'attività che verrà POST su un percorso con i dati del modulo specificati.