L'elaborazione delle attività push tramite una coda di attività può non riuscire per diversi motivi. Se un gestore non riesce a eseguire un'attività (e quindi restituisce un codice di stato HTTP al di fuori dell'intervallo 200-299), App Engine ritenta l'attività finché non va a buon fine.
Per impostazione predefinita, il sistema riduce gradualmente la frequenza dei tentativi per evitare di sovraccaricare l'applicazione con troppe richieste, ma pianifica i tentativi di ripetizione in modo che si ripetano al massimo una volta all'ora finché l'attività non va a buon fine.
Ripetere le attività
Puoi personalizzare il tuo schema per i tentativi di ripetizione delle attività aggiungendo l'elemento dei parametri di ripetizione in . Questa aggiunta ti consente di specificare il numero massimo di tentativi di ripetizione delle 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 ripetute fino a sette volte e per un massimo di due giorni dal primo tentativo di esecuzione. Una volta superati entrambi i limiti, l'operazione non riesce in modo permanente. - In
barqueue, App Engine tenta di ripetere le attività, aumentando linearmente l'intervallo tra ogni tentativo di ripetizione fino a raggiungere il backoff massimo e ripetendo indefinitamente all'intervallo massimo (quindi gli intervalli tra le richieste sono 10 secondi, 20 secondi, 30 secondi, ..., 190 secondi, 200 secondi, 200 secondi, ...). - In
bazqueue, l'intervallo tra i tentativi inizia a 10 secondi, quindi raddoppia tre volte, poi aumenta linearmente e infine ripete indefinitamente 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, ...).
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à.