Questa pagina descrive cosa sono le code di attività, quando e come utilizzarle. Le code di attività consentono alle applicazioni di eseguire operazioni, chiamate attività, in modo asincrono al di fuori di una richiesta dell'utente. Se un'app deve eseguire operazioni in background, aggiunge attività alle code di attività. Le attività vengono eseguite in un secondo momento dai servizi worker.
Il servizio Coda di attività è progettato per il lavoro asincrono. Non forniscono forti garanzie sulle tempistiche di esecuzione delle attività ed è quindi non sono adatte per applicazioni interattive in cui l'utente è in attesa del risultato.
Code push e code pull
Le code di attività sono disponibili in due versioni: push e pull. Il modo in cui Il servizio della coda di attività invia richieste di attività ai servizi worker è diverso per le diverse code.
Le code push eseguono le attività inviando richieste HTTP ai servizi worker App Engine. Inviano queste richieste a una frequenza costante e affidabile e garantiscono un'esecuzione affidabile delle attività. Perché puoi controllare la frequenza con cui le attività vengono inviati dalla coda, puoi controllare le impostazioni comportamento di scalabilità e, di conseguenza, a tuo carico.
Poiché le attività vengono eseguite come richieste mirate ai servizi App Engine, sono soggette a scadenze rigorose. Attività gestite dalla gestione dei servizi di scalabilità deve terminare in dieci minuti. Attività gestite da attività di base e manuali possono essere eseguiti per un massimo di 24 ore.
Le code pull non inviano attività. Dipendono da un altro worker di "leasing" attività della coda di propria iniziativa. Code in modalità pull offrono maggiore potenza e flessibilità su quando e dove le attività vengono elaborate, ma richiedono anche una maggiore gestione dei processi. Quando un'attività viene concessa in leasing, il lavoratore che la concede dichiara una scadenza. Entro la scadenza, l'operatore deve completare l'attività ed eliminarla oppure il servizio Task Queue consentirà a un altro operatore di acquisirla in leasing.
Tutte le attività coda di attività vengono eseguite in modo asincrono. L'applicazione che crea la consegna all'attività alla coda. L'applicazione di origine non viene informata se l'attività è stata completata o meno o se è andata a buon fine.
Se un worker non riesce a elaborare un'attività, il servizio Task Queue fornisce alla coda un meccanismo di ripetizione, in modo che l'attività possa essere ripetuta un numero finito di volte.
Casi d'uso
Code in modalità push
Un tipico caso d'uso con coda in modalità push è "lenta" operativa. Prendi in considerazione di messaggistica di rete. Ogni volta che un utente invia un messaggio, la rete deve per aggiornare i follower del mittente. Questa può essere un'operazione molto laboriosa. Utilizzando una coda push, l'applicazione può mettere in coda un'attività per ogni messaggio che arriva per essere inviata a un servizio di lavoro per l'elaborazione. Quando il worker riceve la richiesta dell'attività, può recuperare l'elenco i follower e aggiornano il database per ciascuno. Il worker può essere reso ancora più ed efficiente accodando un'altra attività di push per ogni aggiornamento del database.
Un altro utilizzo delle code push è per le attività pianificate. Immagina un'applicazione implementa una campagna pubblicitaria. Un gruppo di attività scritte per l'invio di email può essere aggiunto a una coda push con istruzioni per trattenere le attività fino a un momento futuro specificato. Quando arriva la data di scadenza, il servizio Task Queue inizierà a emettere richieste per l'esecuzione delle attività.
Passaggi successivi
- Informazioni sulle code push