In questa pagina viene descritto come creare attività e inserirle in code in modalità push. Quando Se vuoi elaborare un'attività, devi creare un nuovo oggetto dell'attività e posizionarlo in coda. Puoi specificare esplicitamente il servizio e il gestore che elaborano l'attività, e, facoltativamente, passare dati specifici dell'attività al gestore. Puoi anche ottimizzare la configurazione dell'attività, ad esempio programmare un orario nel futuro quando deve essere eseguita o limita il numero di volte che vuoi che l'attività in caso di errore.
Creazione di una nuova attività in corso...
Specificare il servizio worker
Quando un'attività viene estratta dalla coda, il servizio Coda di attività la invia a un servizio worker. Ogni attività ha un target e un url, che determinano e quale servizio e gestore eseguirà l'attività.
target
La destinazione specifica il servizio che riceverà la richiesta HTTP eseguire l'attività. È una stringa che specifica un servizio/una versione/un'istanza uno qualsiasi dei moduli canonici. I moduli più utilizzati sono:
service
version.service
instance.version.service
La stringa di destinazione è anteposta al nome di dominio dell'app. Esistono tre tipi di modi per impostare la destinazione per un'attività:
Dichiara il target quando crei l'attività.
Includi un'istruzione
target
quando definisci una coda nellaqueue.yaml
, come nella definizione diqueue-blue
. Tutte le attività aggiunte a una coda con untarget
utilizzeranno quel target, anche se è stato assegnato un obiettivo diverso all'attività al momento della costruzione.Se non viene specificata nessuna destinazione in base a uno dei due metodi precedenti, il target dell'attività è la versione del servizio che la accoda. Tieni presente che se accoda un'attività dal servizio e dalla versione predefiniti in in questo modo e la versione predefinita cambia prima dell'esecuzione dell'attività, verranno eseguite nella nuova versione predefinita.
url
url
seleziona uno dei gestori nel servizio di destinazione, che
eseguire l'attività.
url
deve corrispondere a uno dei pattern URL del gestore nel target
completamente gestito di Google Cloud. url
può includere parametri di ricerca se il metodo specificato nell'attività è
GET
o PULL
. Se non viene specificato alcun url
, l'URL predefinito
Viene utilizzato /_ah/queue/[QUEUE_NAME]
, dove [QUEUE_NAME]
è il nome
dell'attività.
Trasferimento dei dati al gestore
Puoi passare i dati al gestore come parametri di ricerca nell'URL dell'attività, ma
solo se il metodo specificato nell'attività è GET
o PULL
.
Assegnare un nome a un'attività
Quando crei una nuova attività, App Engine assegna all'attività un nome univoco
predefinito. Tuttavia, puoi assegnare un nome a un'attività utilizzando l'name
. Un vantaggio di assegnare nomi alle tue attività è che le attività con nome vengono
deduplicate, quindi puoi utilizzare i nomi delle attività
garantire
che un'attività venga aggiunta una sola volta. La deduplicazione continua per 9 giorni dopo il
l'attività è stata completata o eliminata.
Tieni presente che la logica di deduplicazione introduce un sovraccarico di prestazioni significativo, con conseguente aumento delle latenze e potenziali maggiori tassi di errore associate ad attività con nome. Questi costi possono essere aumentati significativamente se sono sequenziali, ad esempio con i timestamp. Quindi, se assegni nomi personalizzati, consigliamo di utilizzare un prefisso ben distribuito per i nomi delle attività, come un hash nei contenuti.
Se assegni i tuoi nomi alle attività, tieni presente che la lunghezza massima del nome è 500 e il nome può contenere lettere maiuscole e minuscole, numeri trattini bassi e trattini.
Passaggi successivi
- Scopri come creare un'attività e i gestori di rete.