Le attività push elaborate tramite una coda di attività possono non riuscire per diversi motivi. Se un gestore non riesce a eseguire un'attività (e pertanto restituisce qualsiasi codice di stato HTTP al di fuori l'intervallo 200-299), App Engine ritenta l'attività fino a quando non riesce.
Per impostazione predefinita, il sistema riduce gradualmente la percentuale di nuovi tentativi per evitare di sovraccaricare l'applicazione con troppi tentativi ma pianifica nuovi tentativi per ripetersi al massimo una volta all'ora fino a quando l'attività non riesce.
Nuovo tentativo delle attività
Puoi personalizzare il tuo schema per i nuovi tentativi delle attività
aggiungendo il nuovo tentativo
parametri
in
. Questo
Inoltre, ti consente di specificare il numero massimo di volte in cui ritentare le attività non riuscite
in una coda specifica. Puoi anche impostare un limite di tempo per i nuovi tentativi
controlla l'intervallo tra un tentativo e l'altro.queue.yaml
L'esempio seguente illustra vari scenari di nuovo tentativo:
- In
fooqueue
, le attività vengono tentate di nuovo per un massimo di sette volte e per un massimo di due giorni dal primo tentativo di esecuzione. Dopo il superamento di entrambi i limiti, l'operazione non riesce definitivamente. - In
barqueue
, App Engine tenta di riprovare le attività, aumentando l'intervallo in modo lineare tra un nuovo tentativo e l'altro fino a raggiungere il backoff massimo e riprovare all'intervallo massimo (quindi gli intervalli tra le richieste vengono Anni '20, '20, '30, ..., 190, 200, 200, ...). - Nel mese di
bazqueue
, l'intervallo tra nuovi tentativi inizia 10 secondi e poi raddoppia per tre volte. poi aumenta in modo lineare e infine riprova a tempo indeterminato per l'intervallo massimo (in modo che gli intervalli tra le richieste Anni '10, '20, '40, '80, 160, 240, 300, 300, ...).
<?xml version="1.0" encoding="utf-8"?>
<queue-entries>
<queue>
<name>fooqueue</name>
<rate>1/s</rate>
<retry-parameters>
<task-retry-limit>7</task-retry-limit>
<task-age-limit>2d</task-age-limit>
</retry-parameters>
</queue>
<queue>
<name>barqueue</name>
<rate>1/s</rate>
<retry-parameters>
<min-backoff-seconds>10</min-backoff-seconds>
<max-backoff-seconds>200</max-backoff-seconds>
<max-doublings>0</max-doublings>
</retry-parameters>
</queue>
<queue>
<name>bazqueue</name>
<rate>1/s</rate>
<retry-parameters>
<min-backoff-seconds>10</min-backoff-seconds>
<max-backoff-seconds>300</max-backoff-seconds>
<max-doublings>3</max-doublings>
</retry-parameters>
</queue>
</queue-entries>
Passaggi successivi
- Scopri di più sui parametri della coda di attività.