Modulo google.appengine.api.taskqueue.taskqueue
Riepilogo
API Task Queue.
Consente a un'applicazione di mettere in coda il lavoro in background per sé stesso. Il lavoro viene eseguito tramite webhook che elaborano le attività inviate da una coda o worker che eseguono manualmente il pull delle attività da una coda. Nelle code in modalità push, le attività verranno eseguite nel miglior ordine di orario di arrivo stimato. I webhook non riusciti causeranno il tentativo di nuovi tentativi relativi alle attività in un secondo momento. Nelle code pull, i worker sono responsabili dell'affitto delle attività per l'elaborazione e l'eliminazione delle attività quando sono completate. Esistono più code di controlli con limitazioni indipendenti.
Gli URL webhook possono essere specificati direttamente per le attività push oppure può essere utilizzato lo schema URL predefinito, che traduce i nomi delle attività negli URL in base al percorso di base della coda. È inoltre disponibile una coda predefinita per un utilizzo semplice.
Contenuti
- exception google.appengine.api.taskqueue.taskqueue.BadTaskStateErrorsource
-
Basi: google.appengine.api.taskqueue.taskqueue.Error
Lo stato dell'attività è errato per l'operazione richiesta.
- google.appengine.api.taskqueue.taskqueue.BadTransactionState
-
alias di BadTransactionStateError
- exception google.appengine.api.taskqueue.taskqueue.BadTransactionStateErrorsource
-
Basi: google.appengine.api.taskqueue.taskqueue.Error
Lo stato della transazione corrente non consente questa operazione.
- exception google.appengine.api.taskqueue.taskqueue.DatastoreErrorsource
-
Basi: google.appengine.api.taskqueue.taskqueue.Error
Si è verificato un errore del datastore durante l'accesso alla coda.
- exception google.appengine.api.taskqueue.taskqueue.DuplicaTaskNameErrororigine
-
Basi: google.appengine.api.taskqueue.taskqueue.Error
Due attività hanno lo stesso nome.
Quando si aggiungono più attività a una coda in un gruppo, più attività non possono avere lo stesso nome.
- exception google.appengine.api.taskqueue.taskqueue.Errorsource
-
Basi: eccezioni.Eccezione
Classe di base per le eccezioni in questo modulo.
- exception google.appengine.api.taskqueue.taskqueue.InternalErrorsource
-
Basi: google.appengine.api.taskqueue.taskqueue.Error
Si è verificato un errore interno durante l'accesso a questa coda.
Se il problema persiste, contatta il team di App Engine tramite il forum di assistenza. Assicurati di includere una descrizione del problema.
- exception google.appengine.api.taskqueue.taskqueue.InvalidQueueErrororigine
-
Basi: google.appengine.api.taskqueue.taskqueue.Error
La configurazione della coda non è valida.
- exception google.appengine.api.taskqueue.taskqueue.InvalidQueueNameErrororigine
-
Basi: google.appengine.api.taskqueue.taskqueue.InvalidQueueError
Il nome della coda non è valido.
- exception google.appengine.api.taskqueue.taskqueue.InvalidTaskErrorsource
-
Basi: google.appengine.api.taskqueue.taskqueue.Error
I parametri, le intestazioni o il metodo dell'attività non sono validi.
- exception google.appengine.api.taskqueue.taskqueue.InvalidTaskNameErrorsource
-
Basi: google.appengine.api.taskqueue.taskqueue.InvalidTaskError
Il nome dell'attività non è valido.
- exception google.appengine.api.taskqueue.taskqueue.InvalidUrlErrorsource
-
Basi: google.appengine.api.taskqueue.taskqueue.InvalidTaskError
L'URL relativo utilizzato per l'attività non è valido.
- exception google.appengine.api.taskqueue.taskqueue.PermissionDeniedErrorsource
-
Basi: google.appengine.api.taskqueue.taskqueue.Error
L'operazione richiesta non è consentita per questa app.
- exception google.appengine.api.taskqueue.taskqueue.TaskAlreadyExistsErrororigine
-
Basi: google.appengine.api.taskqueue.taskqueue.InvalidTaskError
L'attività esiste già. Non è ancora stato eseguito.
- exception google.appengine.api.taskqueue.taskqueue.TaskToolargeErrorsource
-
Basi: google.appengine.api.taskqueue.taskqueue.InvalidTaskError
L'attività è troppo grande con le relative intestazioni e il payload.
- exception google.appengine.api.taskqueue.taskqueue.TombstonedTaskErrorsource
-
Basi: google.appengine.api.taskqueue.taskqueue.InvalidTaskError
L'attività è stata sepolta.
In coda è stata eseguita in precedenza un'attività con lo stesso nome. I nomi devono essere univoci all'interno di una coda.
- exception google.appengine.api.taskqueue.taskqueue.TooManyTasksErrorsource
-
Basi: google.appengine.api.taskqueue.taskqueue.Error
Erano presenti troppe attività in una chiamata funzione singola.
- exception google.appengine.api.taskqueue.taskqueue.TransientErrorsource
-
Basi: google.appengine.api.taskqueue.taskqueue.Error
Si è verificato un errore temporaneo durante l'accesso alla coda. Riprova più tardi.
- exception google.appengine.api.taskqueue.taskqueue.UnknownQueueErrororigine
-
Basi: google.appengine.api.taskqueue.taskqueue.Error
La coda specificata è sconosciuta.
- exception google.appengine.api.taskqueue.taskqueue.InvalidLeaseTimeErrorsource
-
Basi: google.appengine.api.taskqueue.taskqueue.Error
Il periodo di leasing non è valido.
- exception google.appengine.api.taskqueue.taskqueue.InvalidMaxTasksErrorsource
-
Basi: google.appengine.api.taskqueue.taskqueue.Error
Il numero massimo richiesto di attività in
lease_tasks
non è valido.
- exception google.appengine.api.taskqueue.taskqueue.InvalidDeadlineErrorsource
-
Basi: google.appengine.api.taskqueue.taskqueue.Error
La scadenza richiesta (
lease_tasks
) non è valida.
- exception google.appengine.api.taskqueue.taskqueue.InvalidQueueModeErrororigine
-
Basi: google.appengine.api.taskqueue.taskqueue.Error
Richiama un'operazione di coda in modalità push su una coda push o viceversa.
- exception google.appengine.api.taskqueue.taskqueue.TransactionalRequestTooLargeErrororigine
-
Basi: google.appengine.api.taskqueue.taskqueue.TaskToolargeError
Le dimensioni totali di questa transazione (incluse le attività) erano troppo grandi.
- exception google.appengine.api.taskqueue.taskqueue.TaskLeaseExpirationErrorsource
-
Basi: google.appengine.api.taskqueue.taskqueue.Error
Impossibile rinnovare l'attività in leasing perché è già scaduta.
- exception google.appengine.api.taskqueue.taskqueue.QueuePausedErrorsource
-
Basi: google.appengine.api.taskqueue.taskqueue.Error
La coda è in pausa e non può elaborare richieste di leasing delle attività.
- exception google.appengine.api.taskqueue.taskqueue.InvalidEtaErrororigine
-
Basi: google.appengine.api.taskqueue.taskqueue.InvalidTaskError
L'orario di arrivo stimato dell'attività non è valido.
- exception google.appengine.api.taskqueue.taskqueue.InvalidTagErrorsource
-
Basi: google.appengine.api.taskqueue.taskqueue.Error
Il tag specificato non è valido.
- class google.appengine.api.taskqueue.taskqueue.Queue(name='default')source
-
Basi: oggetto
Rappresenta una coda.
La classe
Queue
viene utilizzata per preparare le attività per l'esecuzione offline da App Engine.Viene creata un'istanza di nome di un oggetto coda. Il nome deve corrispondere alla coda predefinita (fornita dal sistema) o a una coda definita dall'utente come specificato nel file di configurazione
queue.yaml
dell'applicazione. L'oggetto coda può quindi essere utilizzato per inserire nuove istanze di attività per l'esecuzione offline da App Engine.Più oggetti di coda possono corrispondere alla stessa coda di sistema sottostante. Tuttavia, un singolo oggetto attività può essere aggiunto a una sola coda.
- add(task, transaction=Falso)origine
Aggiunge un'attività o un elenco di attività a questa coda.
Se viene fornito un elenco di più attività, un'eccezione sollevata non garantisce che non siano state aggiunte attività alla coda (a meno che
transactional
non sia impostato suTrue
). Per determinare quali attività sono state aggiunte correttamente quando viene generata un'eccezione, controlla la proprietàTask.was_enqueued
.Le attività di push o quelle con un metodo diverso da pull non possono essere aggiunte alle code in modalità pull. Allo stesso modo, le attività di pull non possono essere aggiunte alle code in modalità push.
Se viene richiamato
ParametriTaskAlreadyExistsError
oTombstonedTaskError
, al chiamante può essere garantito che per ogni attività fornita è stata aggiunta correttamente l'attività corrispondente oppure in passato un'attività con il nome specificato è stata aggiunta correttamente.-
task: un'istanza di attività o un elenco di istanze di attività che verranno aggiunte alla coda. Se il criterio
task
è impostato su un elenco di oggetti attività, tutte le attività vengono aggiunte alla coda. SeTransactional=True
, tutte le attività vengono aggiunte nella stessa transazione Datastore attiva e se una attività non può essere aggiunta alla coda, nessuna attività viene aggiunta alla coda e la transazione Datastore non riuscirà. Setransactional=False
, l'impossibilità di aggiungere un'attività alla coda verrà sollevata un'eccezione, ma altre attività verranno aggiunte alla coda. -
transazionale: se
True
, le attività transazionali verranno aggiunte alla coda, ma non possono essere eseguite o affittate finché la transazione non va a buon fine. Se la transazione non va a buon fine, le attività verranno rimosse dalla coda (e quindi non verranno mai eseguite). SeFalse
, le attività aggiunte sono immediatamente disponibili per l'esecuzione. Le eventuali operazioni riuscite o non riuscite nella transazione vengono ignorate.
L'attività o l'elenco di attività fornite a questo metodo. Le attività in coda andranno a buon fine il nome della coda e il nome dell'attività dopo la chiamata. Questi oggetti dell'attività sono contrassegnati come in coda e non possono essere aggiunti di nuovo.
Aumenta-
BadTaskStateError: se l'attività è già stata aggiunta a una coda.
-
BadTransactionStateError: se l'argomento
transactional
èTrue
, ma la chiamata viene effettuata al di fuori del contesto di una transazione. -
DuplicaTaskNameError: se il nome di un'attività viene ripetuto nella richiesta.
-
InvalidTaskNameError: se il nome di un'attività non è valido.
-
InvalidTaskError: se nell'elenco delle attività sono presenti sia attività push che pull.
-
InvalidQueueModeError: se un'attività di pull viene aggiunta a una coda in modalità push o se un'attività di push viene aggiunta a una coda in modalità pull.
-
TaskAlreadyExistsError: se un'attività con lo stesso nome di un determinato nome è stata precedentemente aggiunta alla coda.
-
TombstonedTaskError: se un'attività con lo stesso nome di un determinato nome è stata precedentemente aggiunta alla coda ed eliminata.
-
TooManyTasksError: se un'attività contiene più di
MAX_TASKS_PER_ADD
attività. -
TransactionalRequestToolargeError: se la transazione è
True
e la dimensione totale delle attività e dei dati della richiesta di supporto supera la quotaMAX_TRANSACTIONAL_REQUEST_SIZE_BYTES
. -
Sottocategoria di errori sugli errori dell'applicazione.
-
- add_async(task, transazionale=Falso, rpc=Nessuno)origine
Aggiunge in modo asincrono un'attività o un elenco di attività in questa coda.
Questa funzione è identica a
Parametriadd()
tranne per il fatto che restituisce un oggetto asincrono. Puoi chiamareget_result()
sul valore restituito per bloccare la chiamata.-
task: un'istanza di attività o un elenco di istanze di attività che verranno aggiunte alla coda. Se
task
è un elenco di oggetti attività, tutte le attività vengono aggiunte alla coda. SeTransactional=True
, tutte le attività vengono aggiunte nella stessa transazione Datastore attiva e se una attività non può essere aggiunta alla coda, nessuna attività viene aggiunta alla coda e la transazione di Datastore non andrà a buon fine. Setransactional=False
, l'impossibilità di aggiungere un'attività alla coda verrà segnalata da un'eccezione, ma le altre attività saranno accodate. -
transazionale: se
True
, le attività transazionali verranno aggiunte alla coda, ma non possono essere eseguite o affittate finché la transazione non va a buon fine. Se la transazione non va a buon fine, le attività verranno rimosse dalla coda e quindi non verranno mai eseguite. SeFalse
, le attività aggiunte sono immediatamente disponibili per l'esecuzione. Le eventuali operazioni riuscite o non riuscite nella transazione vengono ignorate. -
rpc – Un oggetto UserRPC facoltativo.
Un oggetto UserRPC. Chiama
Aumentaget_result()
per completare l'RPC e ottenere l'attività o l'elenco di attività fornite a questo metodo. Dopo l'avvio della chiamata, le attività in coda avranno un nome e un nome attività validi che saranno contrassegnati come in coda e non potranno essere aggiunti di nuovo.-
BadTaskStateError: se le attività sono già state aggiunte a una coda.
-
BadTransactionStateError: se l'argomento transazionale è
True
, ma la chiamata viene effettuata al di fuori del contesto di una transazione. -
DuplicaTaskNameError: se il nome di un'attività viene ripetuto nella richiesta.
-
InvalidTaskError: se nell'elenco delle attività sono presenti sia attività push che pull.
-
InvalidTaskNameError: se il nome di un'attività non è valido.
-
TooManyTasksError: se l'attività contiene più di
MAX_TASKS_PER_ADD
attività. -
TransactionalRequestToolargeError: se la transazione è
True
e la dimensione totale delle attività e dei dati della richiesta di supporto supera la quotaMAX_TRANSACTIONAL_REQUEST_SIZE_BYTES
.
-
- delete_tasks(task)sorgente
Elimina un'attività o un elenco di attività in questa coda.
Se vengono specificate più attività, verrà generata un'eccezione se una singola attività non viene eliminata. Controlla la proprietà
task.was_deleted
.Il nome dell'attività è l'unico attributo utilizzato per selezionare le attività da eliminare. Se esiste un'attività senza nome o con la proprietà
Parametriwas_deleted
impostata suTrue
, verrà immediatamente attivato unBadTaskStateError
.task: un'istanza di attività o un elenco di istanze di attività che verranno eliminate dalla coda.
RestituisceL'attività o l'elenco delle attività passate a questa chiamata.
Aumenta-
BadTaskStateError: se le attività da eliminare non hanno nomi di attività o sono già state eliminate.
-
DuplicaTaskNameError: se un'attività viene ripetuta nella richiesta.
-
Sottocategoria di errori sugli errori dell'applicazione.
-
- delete_tasks_async(task, rpc=Nessuno)origine
Elimina in modo asincrono un'attività o un elenco di attività in questa coda.
Il nome dell'attività è l'unico attributo utilizzato per selezionare le attività da eliminare.
Questa funzione è identica a
Parametridelete_tasks()
tranne per il fatto che restituisce un oggetto asincrono. Puoi chiamareget_result()
sul valore restituito per bloccare la chiamata.-
task: un'istanza di attività o un elenco di istanze di attività che verranno eliminate dalla coda.
-
rpc – Un oggetto UserRPC facoltativo.
Un oggetto UserRPC. Chiama
Aumentaget_result()
per completare l'RPC e ottenere l'attività o l'elenco di attività passate a questa chiamata.-
BadTaskStateError: se le attività da eliminare non hanno nomi di attività o sono già state eliminate.
-
DuplicaTaskNameError: se un'attività viene ripetuta nella richiesta.
-
- delete_tasks_by_name(nome_attività)source
Elimina un'attività o un elenco di attività in questa coda per nome.
Se vengono specificate più attività, verrà generata un'eccezione se una singola attività non viene eliminata.
Parametritask_name: una stringa corrispondente al nome di un'attività o una stringa di stringhe corrispondente ai nomi delle attività.
RestituisceSe viene fornito un iterazione diverso da una stringa, viene restituito un elenco di oggetti attività, uno per ogni nome dell'attività nell'ordine richiesto. La proprietà
Task.was_deleted
saràTrue
per ogni attività eliminata da questa chiamata e saràFalse
per le attività sconosciute e sepolte.Altrimenti, se è stata fornita una singola stringa come input, viene restituito un singolo oggetto attività.
Aumenta-
DuplicaTaskNameError: se il nome di un'attività viene ripetuto nella richiesta.
-
Sottocategoria di errori sugli errori dell'applicazione.
-
- delete_tasks_by_name_async(nome_attività, rpc=None)source
Elimina in modo asincrono un'attività o un elenco di attività in questa coda per nome.
Questa funzione è identica a
Parametridelete_tasks_by_name()
tranne per il fatto che restituisce un oggetto asincrono. Puoi chiamareget_result()
sul valore restituito per bloccare la chiamata.-
task_name: una stringa corrispondente al nome di un'attività o una stringa di stringhe corrispondente ai nomi delle attività.
-
rpc – Un oggetto UserRPC facoltativo.
Un oggetto UserRPC. Chiama
get_result()
per completare l'RPC e ottenere il risultato.Se viene fornito un iterabile diverso da una stringa, il risultato sarà un elenco di oggetti attività, uno per ogni nome attività dell'ordine richiesto. La proprietà
Task.was_deleted
saràTrue
per ogni attività eliminata da questa chiamata e saràFalse
per le attività sconosciute e sepolte.Altrimenti, se è stata fornita una singola stringa come input, il risultato sarà un singolo oggetto attività.
AumentaDuplicaTaskNameError: se il nome di un'attività viene ripetuto nella richiesta.
-
- fetch_statistics(deadline=10)origine
Visualizza i dettagli correnti della coda.
Parametriscadenza: il numero massimo di secondi da attendere prima di interrompere la chiamata al metodo.
RestituisceUn'istanza
QueueStatistics
che contiene informazioni su questa coda. Sottocategoria di errori sugli errori dell'applicazione.
- fetch_statistics_async(rpc=Nessuno)origine
Ricevi in modo asincrono i dettagli correnti di questa coda.
Parametrirpc – Un oggetto UserRPC facoltativo.
RestituisceUn oggetto UserRPC. Chiama
get_result()
per completare l'RPC e ottenere un'istanzaQueueStatistics
che contiene informazioni su questa coda.
- lease_tasks(lease_seconds, max_tasks, expire=10)origine
Consente di noleggiare una serie di attività dalla coda per un determinato periodo di tempo.
Questo metodo può essere eseguito solo su una coda di pull. Eventuali attività non pull nella coda di pull verranno convertite in attività di pull quando vengono noleggiate. Se è disponibile un numero di
Parametrimax_tasks
inferiore al numero specificato, vengono restituite tutte le attività disponibili. Il metodolease_tasks
supporta il leasing al massimo 1000 attività per non più di una settimana in una singola chiamata.-
lease_seconds: numero di secondi per il noleggio delle attività, fino a una settimana (604.800 secondi). Deve essere un numero intero positivo.
-
max_tasks: il numero massimo di attività da concedere in coda dalla coda di pull, fino a un massimo di 1000 attività.
-
scadenza: il numero massimo di secondi da attendere prima di interrompere la chiamata al metodo.
Un elenco delle attività in leasing dalla coda.
Aumenta-
InvalidLeaseTimeError: se
lease_seconds
non è un numero in virgola mobile o intero valido o non rientra nell'intervallo valido. -
InvalidMaxTasksError: se
max_tasks
non è un numero intero valido o non rientra nell'intervallo valido. -
InvalidQueueModeError: se richiamato in una coda non in modalità pull.
-
Sottocategoria di errori sugli errori dell'applicazione.
-
- lease_tasks_async(lease_seconds, max_tasks, rpc=None)source
Noleggia in modo asincrono una serie di attività dalla coda.
Questo metodo può essere eseguito solo su una coda di pull. I tentativi di lease delle attività da una coda push generano
InvalidQueueModeError
. Tutte le attività non pull in coda di pull verranno convertite in attività di pull quando sono in leasing. Se sono disponibili meno valori dimax_tasks
specificati, vengono restituite tutte le attività disponibili secondo il criterio del "best effort". Il metodolease_tasks_async
supporta il leasing al massimo 1000 attività per non più di una settimana in una singola chiamata.Questa funzione è identica a
Parametrilease_tasks()
tranne per il fatto che restituisce un oggetto asincrono. Puoi chiamareget_result()
sul valore restituito per bloccare la chiamata.-
lease_seconds: numero di secondi per il noleggio delle attività, fino a una settimana (604.800 secondi). Deve essere un numero intero positivo.
-
max_tasks: il numero massimo di attività da concedere in coda dalla coda di pull, fino a un massimo di 1000 attività.
-
rpc – Un oggetto UserRPC facoltativo.
Un oggetto UserRPC. Chiama
Aumentaget_result()
per completare l'RPC e ottenere l'elenco di attività lodato dalla coda.-
InvalidLeaseTimeError: se
lease_seconds
non è un numero in virgola mobile o intero valido o non rientra nell'intervallo valido. -
InvalidMaxTasksError: se
max_tasks
non è un numero intero valido o non rientra nell'intervallo valido.
-
- lease_tasks_by_tag(lease_seconds, max_tasks, tag=None, expire=10)origine
Consente di acquisire le attività con lo stesso tag dalla coda.
Se
tag
è specificato, le attività con quel tag vengono noleggiate per un periodo di tempo specificato. Setag
non è specificato, verrà utilizzato il tag dell'attività meno recente della coda (specificata daeta
).Questo metodo può essere eseguito solo su una coda di pull. Eventuali attività non pull nella coda di pull verranno convertite in attività di pull quando vengono noleggiate. Se sono disponibili meno valori di
Parametrimax_tasks
specificati, verranno restituite tutte le attività disponibili. Il metodolease_tasks
supporta il leasing al massimo 1000 attività per non più di una settimana in una singola chiamata.-
lease_seconds: numero di secondi per il leasing delle attività.
-
max_tasks: il numero massimo di attività da acquisire dalla coda in modalità pull.
-
tag: il tag da cercare o Nessuno da raggruppare in base al primo tag disponibile.
-
scadenza: il numero massimo di secondi da attendere prima di interrompere la chiamata al metodo.
Un elenco delle attività in leasing dalla coda.
Aumenta-
InvalidLeaseTimeError: se
lease_seconds
non è un numero in virgola mobile o intero valido o non rientra nell'intervallo valido. -
InvalidMaxTasksError: se
max_tasks
non è un numero intero valido o non rientra nell'intervallo valido. -
InvalidQueueModeError: se richiamato in una coda non in modalità pull.
-
Sottocategoria di errori sugli errori dell'applicazione.
-
- lease_tasks_by_tag_async(lease_seconds, max_tasks, tag=None, rpc=None)source
Noleggia in modo asincrono attività con lo stesso tag dalla coda.
Se
tag
è specificato, le attività con quel tag vengono noleggiate per un periodo di tempo specificato. Se non viene specificato untag
, verrà utilizzato il tag meno recente dell'attività meno recente della coda (specificato daeta
).Questa funzione è identica a
Parametrilease_tasks_by_tag()
tranne per il fatto che restituisce un oggetto asincrono. Puoi chiamareget_result()
sul valore restituito per bloccare la chiamata.-
lease_seconds: numero di secondi per il leasing delle attività.
-
max_tasks: il numero massimo di attività da acquisire dalla coda in modalità pull.
-
tag: il tag da cercare o Nessuno da raggruppare in base al primo tag disponibile.
-
rpc – Un oggetto UserRPC facoltativo.
Un oggetto UserRPC. Chiama
Aumentaget_result()
per completare l'RPC e ottenere l'elenco di attività lodato dalla coda.-
InvalidLeaseTimeError: se
lease_seconds
non è un numero in virgola mobile o intero valido o non rientra nell'intervallo valido. -
InvalidMaxTasksError: se
max_tasks
non è un numero intero valido o non rientra nell'intervallo valido.
-
- edit_task_lease(task, lease_seconds)origine
Modifica il lease di un'attività in questa coda.
Parametri-
task: un'istanza di attività il cui lease è stato modificato.
-
lease_seconds: numero di secondi, dall'ora corrente, in cui l'attività lease verrà modificata. Se
lease_seconds
è0
, l'attività lease viene rimossa e l'attività sarà di nuovo disponibile per il leasing utilizzando il metodolease_tasks
.
-
TypeError: se
lease_seconds
non è un numero in virgola mobile o un numero intero valido. -
InvalidLeaseTimeError: se
lease_seconds
non rientra nell'intervallo valido. -
Sottocategoria di errori sugli errori dell'applicazione.
-
- name
-
Restituisce il nome di questa coda.
- purge() origine
Rimuove tutte le attività in questa coda.
L'eliminazione definitiva della coda richiede tempo, indipendentemente dalle sue dimensioni. Le attività continuano a essere eseguite finché i backend non riconoscono che la coda è stata eliminata definitivamente. Questa operazione è permanente; le attività eliminate definitivamente non possono essere recuperate.
AumentaSottocategoria di errori sugli errori dell'applicazione.
- class google.appengine.api.taskqueue.taskqueue.QueueStatistics(queue, task, old_eta_usec=None, Execution_last_minute=None, in_flight=None, applied_rate=None)source
-
Basi: oggetto
Rappresenta lo stato corrente di una coda.
- classmethod fetch(queue_or_queues, expire=10)Fonte
Visualizza i dettagli della coda per più code.
Utilizza
QueueStatistics.fetch()
per ottenereQueueStatistics
oggetti per le code che ti interessano. Puoi specificare una o più code.Esempio:
ParametristatsList = taskqueue.QueueStatistics.fetch([taskqueue.Queue("foo"), taskqueue.Queue("bar")])
-
Queue_or_queues – La coda o l'elenco di code per le quali stai ricevendo statistiche. Se recuperi le statistiche per una singola coda, puoi fornire un'istanza di coda o il nome della coda. Se recuperi le statistiche per un elenco di code, puoi fornire un elenco iterabile di istanze di coda o un elenco iterabile di nomi di code.
-
scadenza: il numero massimo di secondi da attendere prima di interrompere la chiamata al metodo.
Se viene fornito un iterabile (diverso da una stringa) come risposta, verrà restituito un elenco di
QueueStatistics
oggetti, uno per ogni coda nell'ordine richiesto.Altrimenti, se è stato fornito un singolo articolo come input, verrà restituito un singolo oggetto
AumentaQueueStatistics
.-
TypeError: se
queue_or_queues
non è un'istanza di coda, una stringa, un elemento iterabile contenente solo istanze di coda o un elemento iterabile contenente solo stringhe. -
Sottocategoria di errori sugli errori dell'applicazione.
-
- classmethod fetch_async(queue_or_queues, rpc=Nessuno)source
Visualizza in modo asincrono i dettagli di più code.
Esempio:
Parametrirpc = taskqueue.create_rpc(deadline=1.0) taskqueue.QueueStatistics.fetch_async([taskqueue.Queue("foo"), taskqueue.Queue("bar")], rpc) statsList = rpc.get_result()
-
Queue_or_queues – La coda o l'elenco di code per le quali stai ricevendo statistiche. Se recuperi le statistiche per una singola coda, puoi fornire un'istanza di coda o il nome della coda. Se stai recuperando un elenco di code, puoi fornire un elenco iterabile di istanze di coda o un elenco di nomi di coda iterabile.
-
rpc – Un oggetto UserRPC facoltativo.
Un oggetto UserRPC. Chiama
get_result()
per completare l'RPC e ottenere il risultato.Se viene fornito un iterabile (diverso da una stringa), il risultato sarà un elenco di
QueueStatistics
oggetti, uno per ogni coda nell'ordine richiesto.Altrimenti, se come input viene fornito un singolo elemento, il risultato sarà un singolo oggetto
AumentaQueueStatistics
.TypeError: se
queue_or_queues
non è un'istanza di coda, una stringa, un elemento iterabile contenente solo istanze di coda o un elemento iterabile contenente solo stringhe.-
- class google.appengine.api.taskqueue.taskqueue.Task(payload=None, **kwargs)fonte
-
Basi: oggetto
Rappresenta una singola attività in una coda.
Il corso
Task
consente a un'applicazione di mettere in coda il lavoro in background. Il lavoro viene eseguito tramite webhook che elaborano le attività trasferite da una coda push o worker che eseguono manualmente il pull delle attività da una coda di pull.Nelle code in modalità push, la maggior parte delle attività viene svolta in base all'orario di arrivo stimato migliore.
I webhook che non superano i tentativi possono riprovare a eseguire le attività in un secondo momento. Puoi configurare la frequenza e il numero di nuovi tentativi per le attività non riuscite. Puoi specificare gli URL webhook direttamente per le attività push. Puoi anche utilizzare lo schema URL predefinito, che traduce i nomi delle attività in URL correlati al percorso di base di una coda. È inoltre disponibile una coda predefinita per un utilizzo semplice.
Nelle code in modalità pull, i worker sono responsabili dell'affitto delle attività, dell'elaborazione e dell'eliminazione dopo l'elaborazione. Puoi configurare il numero di nuovi tentativi dell'attività, basato sul numero di affitti dell'attività. Puoi definire più code con controlli di limitazione indipendenti.
Puoi impostare le varie proprietà per un'attività nel costruttore. Dopo aver creato un'istanza dell'oggetto
Task
, devi inserire l'attività in una coda. Puoi inserire un'istanza di attività in una sola coda.- add(queue_name='default', transaction=Falso)origine
-
Aggiunge questa attività a una coda. Leggi i
Queue.add
.
- add_async(queue_namenofollow='default', transaction=False, rpc=None)source
-
Aggiunge in modo asincrono questa attività a una coda. Leggi i
Queue.add_async
.
- Logo ATE
-
Restituisce un
datetime.datatime
quando questa attività verrà eseguita o noleggiata.
- eta_posix
-
Restituisce il timestamp POSIX di quando questa attività verrà eseguita o noleggiata.
- estrarre_params()origine
Restituisce i parametri per questa attività.
Se lo stesso parametro nome ha diversi valori, il valore è un elenco di stringhe. Per le richieste
RestituiscePOST
e le attività di pull, i parametri vengono estratti dal payload dell'attività; per tutti gli altri metodi, i parametri vengono estratti dalla stringa di query URL.Un dizionario di stringhe che mappano i nomi dei parametri ai rispettivi valori come stringhe. Se lo stesso parametro nome ha diversi valori, il valore sarà un elenco di stringhe. Per
AumentaPOST
richieste e pull attività, i parametri vengono estratti dal payload dell'attività. Per tutti gli altri metodi, i parametri vengono estratti dalla stringa di query URL. Viene restituito un dizionario vuoto se l'attività contiene un payload vuoto o una stringa di query.ValueError: se il payload non contiene dati
application/x-www-form-urlencoded
validi (per le richiestePOST
e le attività di pull) oppure l'URL non contiene una query valida (tutte le altre richieste).
- intestazioni
-
Restituisce una copia delle intestazioni HTTP per questa attività (solo attività push).
- metodo
-
Restituisce il metodo da utilizzare per questa attività.
- name
-
Restituisce il nome di questa attività.
- on_queue_url
-
Restituisce True se l'attività viene eseguita sull'URL predefinito della coda (solo attività push).
- payload
-
Restituisce il payload da utilizzare quando viene richiamata l'attività (può essere None).
- nome_coda
-
Restituisce il nome della coda a cui è associata questa attività.
- nuovo_numero
-
Restituisce il numero di nuovi tentativi o lease provati sull'attività.
- Riprova_opzioni
-
Restituisce una o tutte le attività
TaskRetryOptions
.
- dimensioni
-
Restituisce le dimensioni di questa attività in byte.
- tag (m.)
-
Restituisce il tag per questa attività.
- destinazione
-
Restituisce il target per questa attività.
- url
-
Restituisce l'URL relativo per questa attività (solo attività push).
- è stato_eliminato/a
-
Restituisce
True
se questa attività è stata eliminata correttamente.
- è stato accodato
-
Restituisce
True
se questa attività è stata inserita in una coda.
- class google.appengine.api.taskqueue.taskqueue.TaskRetryOptions(**kwargs)Fonte
-
Basi: oggetto
Le opzioni utilizzate per decidere quando verrà eseguito un nuovo tentativo per un'attività non riuscita.
Le attività in esecuzione nella coda di attività possono non riuscire per diversi motivi. Se l'esecuzione di un'attività non va a buon fine, come previsto dalla restituzione di qualsiasi codice di stato HTTP al di fuori dell'intervallo 200-299, App Engine tenta l'esecuzione dell'attività finché non viene completata correttamente. Per impostazione predefinita, il sistema riduce gradualmente la frequenza di nuovi tentativi per evitare di riempire l'applicazione con troppe richieste, ma le pianificazioni tentano di ripetersi a un massimo di una volta all'ora fino a quando l'attività non va a buon fine. Gli errori 503, tuttavia, vengono trattati come casi speciali e non devono essere restituiti dal codice utente.
La classe
TaskRetryOptions
fornisce le proprietà che puoi utilizzare per decidere quando riprovare a eseguire un'attività non riuscita in fase di runtime.- max_backoff_secondi
-
Il numero massimo di secondi da attendere prima di riprovare un'attività.
- numero_massimo
-
Il numero di volte in cui l'intervallo tra tentativi verrà raddoppiato.
- min_backoff_secondi
-
Il numero minimo di secondi da attendere prima di riprovare un'attività.
- attività_limite_età
-
Il numero di secondi dopo il quale un'attività non riuscita verrà ripetuta.
- attività_limite_prova
-
Il numero di nuovi tentativi di un'attività non riuscita.
- google.appengine.api.taskqueue.taskqueue.add(*args, **kwargs)fonte
Metodo pratico che crea un'attività e la aggiunge a una coda.
Tutti i parametri sono facoltativi.
Impossibile aggiungere le attività di push alle code in modalità pull. Analogamente, le attività di pull non possono essere aggiunte alle code in modalità push.
Parametri-
payload: i dati di payload per questa attività che verranno distribuiti al webhook o al backend come corpo della richiesta HTTP (per le code push) o recuperati dai worker come parte della risposta da
lease_tasks()
(per le code pull). Questo argomento è consentito solo per i metodiPOST
ePUT
e le attività di pull. -
coda_nome – Nome della coda in cui inserire l'attività. Se non viene fornito alcun nome, viene utilizzata per impostazione predefinita la coda predefinita.
-
name – Nome da assegnare all'attività; se non specificato, il nome viene generato automaticamente quando viene aggiunto a una coda e assegnato a questo oggetto. Il nome deve corrispondere all'espressione regolare
_TASK_NAME_PATTERN
. -
metodo - da utilizzare per accedere al webhook. Il valore predefinito è
POST
. Altri valori accettati sonoGET
,PUT
,DELETE
,HEAD
oPULL
. Non specificare un metodo per le attività push, in quanto il metodo predefinito èPOST
e pubblica le attività assegnate all'hook web sul sitourl
specificato. Se impostimethod
suPULL
, l'attività non verrà eseguita automaticamente nel webhook, ma rimarrà in coda finché non sarà in affitto. -
url: URL relativo in cui si trova il webhook che deve gestire questa attività per questa applicazione. Puoi utilizzare una stringa di query a meno che questo argomento non venga utilizzato in un metodo
POST
. Non puoi utilizzare questo argomento in un'attività pull. -
intestazioni: dizionario delle intestazioni da trasmettere al webhook. I valori nel dizionario possono essere iterabili per indicare i campi di intestazione ripetuti. Se non specifichi un'intestazione
Content-Type
per un metodoPUSH
, verrà utilizzata l'intestazione predefinita (text/plain
). Se specifichi un'intestazioneHost
per un metodoPUSH
, non specificare un argomentotarget
. Non puoi utilizzare un argomentoheader
in un'attività pull. Verranno eliminate anche tutte le intestazioni che utilizzano il prefissoX-AppEngine
. -
params: dizionario dei parametri da utilizzare per questa attività. Per le richieste
POST
e pull, i valori del dizionario possono essere iterabili per indicare parametri ripetuti, che verranno codificati comeapplication/x-www-form-urlencoded
e impostati sul payload. Per le richiestePOST
e pull, non specificare i parametri se hai già specificato un payload. Per le richiestePUT
, i parametri vengono convertiti in una stringa di query se l'URL contiene una stringa di query o se l'attività ha già un payload. Per le richiestePUT
, non specificare i parametri se l'URL contiene già una stringa di query e il metodo èGET
. Per tutti gli altri metodi, i parametri verranno convertiti in una stringa di query. -
transazionale - Facoltativo. Se
True
, aggiunge attività se e solo se la transazione di inclusione è stata eseguita correttamente. Verrà restituito un errore se questo argomento è impostato suTrue
in assenza di una transazione contenente. SeFalse
, aggiunge le attività immediatamente, ignorando eventuali operazioni riuscite o non riuscite sulla transazione. -
conto alla rovescia - Tempo in secondi nel futuro in cui questa attività dovrebbe essere eseguita o noleggiata. Il valore predefinito è zero. Non specificare questo argomento se hai specificato un
eta
. -
eta:
datetime.datetime
che specifica l'ora assoluta in cui verrà eseguita l'attività. Non puoi specificare questo argomento se viene specificato l'argomentocountdown
. Questo argomento può essere basato sul fuso orario o sul fuso orario oppure può essere impostato su un orario nel passato. Se l'argomento è impostato su Nessuno, il valore predefinito è ora. Per le attività di pull, nessun worker può eseguire il lease dell'attività prima del tempo indicato dall'argomentoeta
. -
Riprova_opzioni -
TaskRetryOptions
utilizzato per controllare quando verrà eseguito un nuovo tentativo dell'attività se non riesce. Per le attività di pull, puoi specificare l'opzionetask_retry_limit
solo per specificare il numero di volte in cui un'attività può essere noleggiata prima di essere eliminata dalla coda. Per le attività push, puoi specificare le opzionimin_backoff_seconds
,max_backoff_seconds
,task_age_limit
,max_doublings
etask_retry_limit
. -
tag: il tag da utilizzare per il raggruppamento per tag (solo attività di pull).
-
target: solo attività push; specifica la versione alternativa o il backend su cui eseguire questa attività oppure
DEFAULT_APP_VERSION
per eseguire la versione predefinita dell'applicazione. Puoi specificare un modulo o una versione, una versione frontend o un backend su cui eseguire questa attività. La stringa specificata verrà anteposta al nome di dominio della tua app. Se specifichi l'argomentotarget
, non specificare un'intestazioneHost
nel dizionario per l'argomentoheaders
.
Attività che è stata aggiunta alla coda.
Aumenta-
BadTransactionStateError: se l'argomento della transazione è vero, ma la chiamata viene effettuata al di fuori del contesto di una transazione.
-
InvalidEtaError: se
eta
è impostato su un valore troppo lontano nel futuro. -
InvalidQueueModeError: se un'attività di pull viene aggiunta a una coda in modalità push o un'attività con
method
diverso daPULL
viene aggiunta a una coda in modalità pull. -
InvalidTagError: se il tag è troppo lungo.
-
InvalidTaskError: se uno o più parametri non sono validi.
-
InvalidTaskNameError: se il nome dell'attività non è valido.
-
InvalidUrlError: se l'URL dell'attività non è valido o è troppo lungo.
-
TaskTooLargeError: se l'attività con il payload associato è troppo grande.
-
TransactionalRequestToolargeError: se la transazione è
True
e la dimensione totale delle attività e dei dati della richiesta di supporto supera la quotaMAX_TRANSACTIONAL_REQUEST_SIZE_BYTES
.
-
- google.appengine.api.taskqueue.taskqueue.create_rpc(deadline=None, callback=None)source
Crea un oggetto RPC da utilizzare con l'API Task Queue.
Parametri-
scadenza - Scadenza facoltativa in secondi per l'operazione; il valore predefinito è una scadenza specifica del sistema, che in genere è di 5 secondi. Dopo la scadenza, verrà restituito un errore
DeadlineExceededError
. -
callback – La funzione facoltativa da chiamare con il servizio Task Queue restituisce i risultati correttamente quando
get_result()
,check_success()
owait()
vengono richiamati sull'oggetto RPC. La funzione viene chiamata senza argomenti. La funzione non viene chiamata in un processo o thread in background; la funzione viene richiamata solo quando uno dei metodi precedenti viene chiamato dall'applicazione. La funzione viene chiamata anche se la richiesta non riesce o scade la scadenza RPC.
Un oggetto
apiproxy_stub_map.UserRPC
specializzato per questo servizio.-