Panoramica delle code di attività

In questa pagina viene descritto cosa sono le code di attività, quando e come utilizzarle. Le code di attività consentono alle applicazioni di svolgere operazioni, chiamate attività, in modo asincrono al di fuori di una richiesta dell'utente. Se un'app deve eseguire le operazioni in background, aggiunge le attività alle code di attività. Le attività vengono eseguite più tardi, dai servizi worker.

Il servizio Task Queue è progettato per il lavoro asincrono. Non offre garanzie precise sui tempi di invio delle attività e pertanto non è adatto per le applicazioni interattive in cui un utente è in attesa del risultato.

Code in modalità push e code in modalità pull

Le code di attività sono di due tipi: push e pull. Il modo in cui il servizio coda di attività invia le richieste di attività ai servizi worker è diverso per le diverse code.

Le code in modalità push eseguono le attività distribuendo richieste HTTP ai servizi worker App Engine. Inviano queste richieste con una frequenza costante e affidabile e garantiscono un'esecuzione affidabile delle attività. Poiché puoi controllare la frequenza di invio delle attività dalla coda, puoi controllare il comportamento di scalabilità dei worker e quindi i costi.

Poiché le attività vengono eseguite come richieste destinate ai servizi App Engine, sono soggette a scadenze rigorose. Le attività gestite dai servizi di scalabilità automatica devono terminare entro dieci minuti. Le attività gestite dai servizi di scalabilità di base e manuale possono essere eseguite fino a 24 ore.

Le code in modalità pull non sono supportate in PHP 5.

Tutte le attività in coda di attività vengono eseguite in modo asincrono. L'applicazione che crea l'attività la mette in coda. All'applicazione di origine non viene notificato se l'attività è stata completata o meno o se è riuscita.

Se un worker non riesce a elaborare un'attività, il servizio coda di attività fornisce alla coda un meccanismo di ripetizione, in modo che l'attività possa essere ritentata per un numero limitato di volte.

Casi d'uso

Code in modalità push

Un tipico caso d'uso delle code in coda in modalità push è un'operazione "lenta". Prendiamo in considerazione un sistema di messaggistica sui social network. Ogni volta che un utente invia un messaggio, la rete deve aggiornare i follower del mittente. Questa operazione può richiedere molto tempo. Utilizzando una coda in modalità push, l'applicazione può accodare un'attività per ogni messaggio man mano che questo viene inviato a un servizio worker per l'elaborazione. Quando il worker riceve la richiesta dell'attività, può recuperare l'elenco dei follower del mittente e aggiornare il database di ciascuno. Il worker può essere reso ancora più efficiente accodando un'altra attività push per ogni aggiornamento del database.

Le code in modalità push possono essere utilizzate anche dalle attività pianificate. Immagina un'applicazione che implementa una campagna pubblicitaria. Un gruppo di attività scritte per inviare email può essere aggiunto a una coda in modalità push con istruzioni per trattenere le attività fino a un momento specifico nel futuro. All'arrivo della data di scadenza, il servizio coda di attività inizia a inviare richieste per l'esecuzione delle attività.

Passaggi successivi