Riferimento coda.yaml

ID regione

REGION_ID è un codice abbreviato assegnato da Google in base alla regione selezionata al momento della creazione dell'app. Il codice non corrispondono a un paese o a una provincia, anche se potrebbero essere visualizzati alcuni ID regione in modo simile ai codici paese e provincia di uso comune. Per le app create dopo il giorno Febbraio 2020, REGION_ID.r è incluso in URL di App Engine. Per le app esistenti create prima di questa data, l'ID regione è facoltativo nell'URL.

Scopri di più sugli ID regione.

Il file di configurazione queue.yaml viene utilizzato per creare e configurare quasi tutte le code di attività utilizzate dalla tua app. Tutte le app App Engine sono dotate di una coda push preconfigurata automaticamente denominata default. Anche se creare la coda default autonomamente, puoi aggiungere altre code o modificare configurazione della coda default utilizzando il file queue.yaml.

Per configurare le puoi utilizzare i metodi queue.yaml o Gestione code di Cloud Tasks, ma non entrambi contemporaneamente. L'unione del metodo di caricamento queue.yaml con i metodi di gestione della coda può produrre risultati inaspettati e non è consigliata.

Esempio

Di seguito è riportato un esempio di base che definisce una coda denominata ed esegue l'override della frequenza di elaborazione predefinita:

queue:
- name: my-push-queue
  rate: 1/s

Di seguito è riportato un esempio più complesso di configurazione di queue.yaml che dimostra come impostare il numero di tentativi di attività e modificare la frequenza di elaborazione predefinita.

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: 200
    max_doublings: 3

Sintassi

Il file queue.yaml è un file YAML la cui direttiva principale è queue. Questa direttiva contiene zero o più code denominate. Ogni definizione di coda può specificare i seguenti elementi:

Elemento Descrizione
bucket_size (code push)

Facoltativo. Una coda di attività utilizza l'algoritmo bucket di token per controllare la frequenza di esecuzione delle attività. Ogni coda con nome ha un bucket di token che contiene i token, fino al numero massimo specificato dal valore bucket_size. Ogni volta quando l'applicazione esegue un'attività, un token viene rimosso dal bucket. Continua a elaborare le attività nella coda finché il bucket della coda non esaurisce i token. App Engine rifornisce il bucket con nuovi token continuamente in base alla frequenza specificata per la coda.

La dimensione del bucket limita la velocità di elaborazione della coda quando sono presenti molte attività nella coda e la frequenza è elevata. Il valore massimo per il bucket è 500. In questo modo puoi avere una frequenza elevata in modo che l'elaborazione inizi poco dopo l'inserimento di un'attività in coda, ma puoi comunque limitare l'utilizzo delle risorse quando molte attività vengono inserite in coda in un breve periodo di tempo.

Se non specifichi bucket_size per una coda, il parametro il valore predefinito è 5. Ti consigliamo di impostare un valore più elevato perché la dimensione predefinita potrebbe essere troppo piccola per molti casi d'uso. Per Ad esempio, puoi determinare la dimensione del bucket in base all'elaborazione aliquota.

Per ulteriori informazioni su questo elemento, consulta la descrizione comparativa di max_burst_size

nel riferimento dell'API Cloud Tasks.
max_concurrent_requests (code push)

Facoltativo. Imposta il numero massimo di attività che possono essere eseguite contemporaneamente della coda specificata. Il valore è un numero intero. Per impostazione predefinita, il limite è 1000 attività per coda. Il limite superiore consigliato è 5000 più attività per coda. Tieni presente che le code possono aumentare lentamente quando o se sono rimasti inattivi per un po'.

La limitazione del numero di attività simultanee offre un maggiore controllo la velocità di esecuzione della coda e il numero di attività potrebbe in esecuzione contemporaneamente. Può anche impedire la contesa del datastore disponibili per altre code o elaborazione online.

Per ulteriori informazioni su questo elemento, consulta la descrizione comparativa di max_concurrent_dispatches nel riferimento all'API Cloud Tasks.

name

Obbligatorio. Il nome della coda.

Un nome coda può contenere lettere maiuscole e minuscole, numeri e e trattini. La lunghezza massima di un nome coda è 100 caratteri.

Tutte le app hanno una coda in modalità push denominata predefinita. Questa coda ha una frequenza preimpostata di 5 attività al secondo. Tieni presente che questa coda predefinita non viene visualizzata nella console Google Cloud fino al primo utilizzo o configurazione. Puoi configurare la coda predefinita, inclusa la modifica della frequenza predefinita, definendo una coda denominata "predefinita" nel file queue.yaml.

rate (code push)

Obbligatorio. La frequenza con cui le attività vengono elaborate in questa coda. Il valore è un numero seguito da una barra e da un'unità di tempo, dove l'unità è s per i secondi, m per i minuti, h per le ore o d per i giorni. Ad esempio, il valore 5/m indica che le attività verranno elaborate alla velocità cinque volte per minuto. Il valore massimo per rate è 500/s.

Se il numero è 0 (ad es. 0/s), la coda è considerata "in pausa" e non viene elaborata alcuna attività.

Per ulteriori informazioni su questo elemento, consulta la descrizione comparativa di max_dispatches_per_second nel riferimento all'API Cloud Tasks.

retry_parameters

Facoltativo. Configura i tentativi di nuovo invio per le attività non riuscite nelle code push. Questa aggiunta ti consente di specificare il numero massimo di volte per riprovare 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.

I parametri di ripetizione possono contenere i seguenti elementi secondari:

task_retry_limit
Il numero di nuovi tentativi. Ad esempio, se 0 è specificato e l'attività non riesce, l'attività non viene ritentata in tutti. Se viene specificato 1 e l'attività non va a buon fine, viene eseguito un nuovo tentativo per l'attività. Se questo parametro non è specificato, l'attività viene riprovato a tempo indeterminato. Se viene specificato task_retry_limit con task_age_limit, viene eseguito un nuovo tentativo per l'attività fino a quando non vengono raggiunti entrambi i limiti.
task_age_limit (code push)
Il limite di tempo per ritentare un'attività non riuscita, misurato dal momento in cui è stata eseguita per la prima volta. Il valore è un numero seguito da un'unità di volta, dove l'unità è s per i secondi, m per i minuti, h per le ore o d per i giorni. Ad esempio, il valore 5d specifica un limite di cinque giorni dopo il primo tentativo di esecuzione dell'attività. Se questo parametro non è specificato, il tentativo viene ripetuto a tempo indeterminato. Se specificato con task_retry_limit, App Engine riprova l'attività fino a quando non vengono raggiunti entrambi i limiti.
min_backoff_seconds (code push)
Il numero minimo di secondi da attendere prima di riprovare un'attività dopo che è stata eseguita senza esito. Il valore predefinito è 0.1.
max_backoff_seconds (code push)
Il numero massimo di secondi che devono trascorrere prima di riprovare un'attività dopo non riesce. Il valore predefinito è 3600.
max_doublings (code push)
Il numero massimo di volte in cui l'intervallo tra i tentativi di attività non riuscita verrà raddoppiato prima che l'aumento diventi costante. La costante è: 2**max_doublings * min_backoff_seconds. Il valore predefinito è 16.
target (code push)

Facoltativo. Una stringa che indica un servizio/una versione, una versione frontend o un backend su cui eseguire tutte le attività in coda in questa coda. La il valore predefinito è la stringa vuota.

La stringa viene anteposta al nome di dominio dell'app quando per creare la richiesta HTTP per un'attività. Ad esempio, se il tuo ID app è my-app e imposti il target su my-version-dot-my-service, il nome host dell'URL verrà impostato su my-version-dot-my-service-dot-my-app.REGION_ID.r.appspot.com.

Se la destinazione non è specificata, le attività vengono richiamate sulla stessa versione dell'applicazione in cui erano in coda. Quindi, se hai accodato dell'attività dalla versione predefinita dell'applicazione senza specificare una destinazione nella coda, l'attività viene richiamata nella versione predefinita dell'applicazione. Tieni presente che se la versione predefinita dell'applicazione cambia nel tempo che l'attività è in coda e l'orario in cui viene eseguita, verranno eseguite nella nuova versione predefinita.

Se utilizzi i servizi insieme a un servizio di spedizione , la richiesta HTTP dell'attività potrebbe essere intercettata e reinstradata a un altro servizio.

Eseguire il deployment del file di configurazione della coda

Eliminazione delle code

Per eliminare una coda:

  1. Rimuovi la definizione della coda dal file queue.yaml.

  2. Carica la modifica nel file queue.yaml.

    gcloud app deploy baseline.yaml

  3. Elimina la coda nella console Google Cloud, selezionala e fai clic su Elimina coda:

    Vai alla pagina Code di attività

Se elimini una coda dalla console Google Cloud, devi attendere 7 giorni prima di ricrearla con lo stesso nome.