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 quindi restituisce un codice di stato HTTP esterno all'intervallo 200-299), App Engine riprova fino a quando l'attività non va a buon fine.
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.
Riprovare le 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 tentativi di ripetizione e controllare l'intervallo tra i tentativi.queue.yaml
L'esempio seguente mostra vari scenari di ripetizione:
- 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 ripetere le attività, aumentando in modo lineare l'intervallo tra ogni nuovo tentativo fino a raggiungere il backoff massimo e riprovando indefinitamente all'intervallo massimo (quindi gli intervalli tra le richieste sono 10 secondi, 20 secondi, 30 secondi, ..., 190 secondi, 200 secondi, 200 secondi e così via). - In
bazqueue
, l'intervallo tra i tentativi inizia a 10 secondi, poi raddoppia tre volte, poi aumenta in modo lineare e infine esegue tentativi indefiniti all' intervallo massimo (quindi gli intervalli tra le richieste sono 10 secondi, 20 secondi, 40 secondi, 80 secondi, 160 secondi, 240 secondi, 300 secondi, 300 secondi e così via).
queue:
- name: fooqueue
rate: 1/s
retry_parameters:
task_retry_limit: 7
task_age_limit: 2d
- name: barqueue
rate: 1/s
retry_parameters:
min_backoff_seconds: 10
max_backoff_seconds: 200
max_doublings: 0
- name: bazqueue
rate: 1/s
retry_parameters:
min_backoff_seconds: 10
max_backoff_seconds: 300
max_doublings: 3
Passaggi successivi
- Scopri di più sui parametri della coda di attività.