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 della richiesta di un 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 in modalità push e code in modalità 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 attività consegnando richieste HTTP ai servizi worker di App Engine. Inviano queste richieste a un ritmo affidabile e costante 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 indirizzate ad App Engine, e servizi, sono soggetti 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 inviare attività. Dipendono da un altro worker di "leasing" di attività in 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 affittata, il worker in leasing dichiara una scadenza. Quando arriva la scadenza, il lavoratore deve completare ed eliminare l'attività, altrimenti il servizio Coda di attività consentire a un altro worker di concederlo in leasing.
Tutte le attività coda di attività vengono eseguite in modo asincrono. L'applicazione che crea l'attività la passa alla coda. L'applicazione di origine non viene notificata se l'attività è stata completata o se è riuscita.
Se un worker non riesce a elaborare un'attività, il servizio Coda di attività fornisce la coda con un meccanismo di ripetizione, in modo che l'attività possa essere ritentata 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 operazione può richiedere molto tempo operativa. Usando una coda in modalità push, l'applicazione può accodare un'attività per ogni quando arriva per essere inviato a un servizio worker 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.
Le code in modalità push sono inoltre utilizzate per la pianificazione delle attività. Immagina un'applicazione implementa una campagna pubblicitaria. Un gruppo di attività scritte per inviare email può essere aggiunta a una coda in modalità push con istruzioni per trattenere le attività fino a quando nel futuro. Quando arriva la data di scadenza, il servizio Coda di attività a inviare richieste per eseguire le attività.
Passaggi successivi
- Informazioni sulle code push