Avviso: nei prossimi mesi, stiamo riorganizzando il sito della documentazione di App Engine per semplificare la ricerca di contenuti e l'allineamento con il resto dei prodotti Google Cloud. Saranno disponibili gli stessi contenuti, ma ora la navigazione corrisponderà al resto dei prodotti Cloud. Se hai feedback o domande durante la navigazione nel sito, fai clic su Invia feedback.

Poiché la versione 5.5 di PHP non è più supportata dalla community, consigliamo vivamente alle nuove app di utilizzare il runtime PHP 7 e versioni successive.

Creazione di code in modalità push

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

In questa pagina viene descritto come creare e personalizzare una coda push e come esaminare i contenuti di una coda.

Utilizzare un file di configurazione delle code per creare le code

Per elaborare un'attività, devi aggiungerla a una coda push. App Engine fornisce una coda push predefinita, denominata default, che è configurata e pronta per essere utilizzata con le impostazioni predefinite. Se lo desideri, puoi semplicemente aggiungere tutte le tue attività alla coda predefinita, senza dover creare e configurare altre code.

Per aggiungere code o cambiare la configurazione predefinita, modifica il file di configurazione della coda per l'applicazione, che carichi in App Engine. Puoi creare fino a 100 code. Le code non possono essere create in modo dinamico.

Questo file di configurazione delle code definisce due code:

queue:
- name: queue-blue
  target: v2.task-module
  rate: 5/s

- name: queue-red
  rate: 1/s

Per caricare il file:

gcloud app deploy queue.yaml

Tutte le attività aggiunte a queue-blue vengono inviate al modulo di destinazione v2.task-module. La frequenza di aggiornamento di queue-red è cambiata da 5/s a 1/s. Le attività verranno accodate e inviate ai relativi target alla frequenza di 1 attività al secondo.

Se elimini una coda, devi attendere circa 7 giorni prima di crearne una nuova con lo stesso nome.

Esistono molti altri parametri che possono essere aggiunti al file di configurazione per personalizzare il comportamento di una coda push. Per ulteriori informazioni, consulta il riferimento al file di configurazione della coda.

Definizione della frequenza di elaborazione delle code in modalità push

Puoi controllare la frequenza con cui le attività vengono elaborate in ciascuna delle tue code definendo altre istruzioni, come rate, bucket_size e max_concurrent_requests.

La coda delle attività utilizza i bucket di token per controllare la frequenza di esecuzione delle attività. Ogni coda denominata ha un bucket di token che contiene i token, fino al massimo specificato da bucket_size o a un massimo di 5 token, se non specifichi le dimensioni del bucket.

Ogni volta che l'applicazione esegue un'attività, un token viene rimosso dal bucket. L'app continua a elaborare attività nella coda finché il bucket della coda non esaurisce i token. App Engine riempie il bucket con nuovi token in modo continuo in base al rate specificato per la coda.

Se la tua coda contiene attività da elaborare e il bucket della coda contiene token, App Engine elabora contemporaneamente tutte le attività necessarie per i token. Questo può portare a burst di elaborazione, al consumo di risorse di sistema e alla competizione con le richieste di pubblicazione degli utenti.

Se vuoi impedire l'esecuzione di troppe attività contemporaneamente o evitare la contesa del datastore, utilizza max_concurrent_requests.

L'esempio seguente mostra come impostare max_concurrent_requests per limitare le attività e mostra anche come regolare le dimensioni e la tariffa del bucket in base alle esigenze e alle risorse disponibili della tua applicazione:

queue:
- name: queue-blue
  rate: 20/s
  bucket_size: 40
  max_concurrent_requests: 10

Impostazione dei limiti di spazio di archiviazione per tutte le code

Puoi utilizzare il file di configurazione delle code per definire la quantità totale di spazio di archiviazione che i dati delle attività possono consumare in tutte le code. Per definire il limite di spazio di archiviazione totale, includi un elemento denominato total_storage_limit al livello più alto:

# Set the total storage limit for all queues to 120MB
total_storage_limit: 120M
queue:
- name: queue-blue
  rate: 35/s

Il valore è un numero seguito da un'unità: B per byte, K per kilobyte, M per megabyte, G per gigabyte, T per terabyte. Ad esempio, 100K specifica un limite di 100 kilobyte. Se l'aggiunta di un'attività fa sì che la coda superi il limite di spazio di archiviazione, la chiamata per aggiungere l'attività non andrà a buon fine. Il limite predefinito è 500M (500 megabyte) per le app gratuite. Per le app fatturate non c'è limite fino a quando non ne imposti esplicitamente una. Puoi utilizzare questo limite per proteggere la tua app da un errore di programmazione fork bomb in cui ogni attività aggiunge diverse altre attività durante l'esecuzione.

Se la tua app riceve errori per una quota insufficiente durante l'aggiunta di attività, può essere utile aumentare il limite di spazio di archiviazione totale. Se utilizzi questa funzionalità, ti consigliamo vivamente di impostare un limite che corrisponda allo spazio di archiviazione richiesto per diversi giorni. Ciò consente di eseguire temporaneamente il backup delle code e di continuare ad accettare nuove attività durante l'esecuzione del backlog, pur continuando a essere protetti da un errore di programmazione della bomba fork.

Monitoraggio delle code in Google Cloud Console

  1. In Google Cloud Console, vai alla pagina Cloud Tasks.

    Vai a Cloud Tasks

    Tieni presente che se visiti la pagina Coda di attività di App Engine, troverai le istruzioni che ti indirizzano a tale pagina. Questo aggiornamento in Google Cloud Console non modifica il funzionamento delle code di attività.

  2. Abilitare l'API Cloud Tasks.

  3. Quando ti trovi nella pagina Cloud Tasks, vedrai un elenco di tutte le code nell'applicazione. Se fai clic sul nome di una coda, viene visualizzata la pagina Dettagli coda, che mostra tutte le attività nella coda selezionata.

Passaggi successivi

Scopri di più sulla creazione di attività.