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 su True). 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 TaskAlreadyExistsError o TombstonedTaskError, 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.

Parametri
  • 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. Se Transactional=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à. Se transactional=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). Se False, le attività aggiunte sono immediatamente disponibili per l'esecuzione. Le eventuali operazioni riuscite o non riuscite nella transazione vengono ignorate.

Restituisce

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 quota MAX_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 add() tranne per il fatto che restituisce un oggetto asincrono. Puoi chiamare get_result() sul valore restituito per bloccare la chiamata.

Parametri
  • 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. Se Transactional=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. Se transactional=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. Se False, 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.

Restituisce

Un oggetto UserRPC. Chiama get_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.

Aumenta
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à was_deleted impostata su True, verrà immediatamente attivato un BadTaskStateError.

Parametri

task: un'istanza di attività o un elenco di istanze di attività che verranno eliminate dalla coda.

Restituisce

L'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 delete_tasks() tranne per il fatto che restituisce un oggetto asincrono. Puoi chiamare get_result() sul valore restituito per bloccare la chiamata.

Parametri
  • task: un'istanza di attività o un elenco di istanze di attività che verranno eliminate dalla coda.

  • rpc – Un oggetto UserRPC facoltativo.

Restituisce

Un oggetto UserRPC. Chiama get_result() per completare l'RPC e ottenere l'attività o l'elenco di attività passate a questa chiamata.

Aumenta
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.

Parametri

task_name: una stringa corrispondente al nome di un'attività o una stringa di stringhe corrispondente ai nomi delle attività.

Restituisce

Se 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 delete_tasks_by_name() tranne per il fatto che restituisce un oggetto asincrono. Puoi chiamare get_result() sul valore restituito per bloccare la chiamata.

Parametri
  • 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.

Restituisce

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à.

Aumenta

DuplicaTaskNameError: se il nome di un'attività viene ripetuto nella richiesta.

fetch_statistics(deadline=10)origine

Visualizza i dettagli correnti della coda.

Parametri

scadenza: il numero massimo di secondi da attendere prima di interrompere la chiamata al metodo.

Restituisce

Un'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.

Parametri

rpc – Un oggetto UserRPC facoltativo.

Restituisce

Un oggetto UserRPC. Chiama get_result() per completare l'RPC e ottenere un'istanza QueueStatistics 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 max_tasks inferiore al numero specificato, vengono restituite tutte le attività disponibili. Il metodo lease_tasks supporta il leasing al massimo 1000 attività per non più di una settimana in una singola chiamata.

Parametri
  • 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.

Restituisce

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 di max_tasks specificati, vengono restituite tutte le attività disponibili secondo il criterio del "best effort". Il metodo lease_tasks_async supporta il leasing al massimo 1000 attività per non più di una settimana in una singola chiamata.

Questa funzione è identica a lease_tasks() tranne per il fatto che restituisce un oggetto asincrono. Puoi chiamare get_result() sul valore restituito per bloccare la chiamata.

Parametri
  • 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.

Restituisce

Un oggetto UserRPC. Chiama get_result() per completare l'RPC e ottenere l'elenco di attività lodato 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.

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. Se tag non è specificato, verrà utilizzato il tag dell'attività meno recente della coda (specificata da eta).

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 max_tasks specificati, verranno restituite tutte le attività disponibili. Il metodo lease_tasks supporta il leasing al massimo 1000 attività per non più di una settimana in una singola chiamata.

Parametri
  • 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.

Restituisce

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 un tag, verrà utilizzato il tag meno recente dell'attività meno recente della coda (specificato da eta).

Questa funzione è identica a lease_tasks_by_tag() tranne per il fatto che restituisce un oggetto asincrono. Puoi chiamare get_result() sul valore restituito per bloccare la chiamata.

Parametri
  • 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.

Restituisce

Un oggetto UserRPC. Chiama get_result() per completare l'RPC e ottenere l'elenco di attività lodato 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.

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 metodo lease_tasks.

Risalto
  • 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.

Aumenta

Sottocategoria 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 ottenere QueueStatistics oggetti per le code che ti interessano. Puoi specificare una o più code.

Esempio:

statsList = taskqueue.QueueStatistics.fetch([taskqueue.Queue("foo"),
                                             taskqueue.Queue("bar")])
Parametri
  • 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.

Restituisce

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 QueueStatistics.

Aumenta
  • 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:

rpc = taskqueue.create_rpc(deadline=1.0)
taskqueue.QueueStatistics.fetch_async([taskqueue.Queue("foo"),
                                        taskqueue.Queue("bar")], rpc)
statsList = rpc.get_result()
Parametri
  • 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.

Restituisce

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 QueueStatistics.

Aumenta

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 POST 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.

Restituisce

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 POST 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.

Aumenta

ValueError: se il payload non contiene dati application/x-www-form-urlencoded validi (per le richieste POST 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 metodi POST e PUT 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 sono GET, PUT, DELETE, HEAD o PULL. Non specificare un metodo per le attività push, in quanto il metodo predefinito è POST e pubblica le attività assegnate all'hook web sul sito url specificato. Se imposti method su PULL, 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 metodo PUSH, verrà utilizzata l'intestazione predefinita (text/plain). Se specifichi un'intestazione Host per un metodo PUSH, non specificare un argomento target. Non puoi utilizzare un argomento header in un'attività pull. Verranno eliminate anche tutte le intestazioni che utilizzano il prefisso X-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 come application/x-www-form-urlencoded e impostati sul payload. Per le richieste POST e pull, non specificare i parametri se hai già specificato un payload. Per le richieste PUT, 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 richieste PUT, 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 su True in assenza di una transazione contenente. Se False, 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'argomento countdown. 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'argomento eta.

  • 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'opzione task_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 opzioni min_backoff_seconds, max_backoff_seconds, task_age_limit, max_doublings e task_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'argomento target, non specificare un'intestazione Host nel dizionario per l'argomento headers.

Restituisce

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 da PULL 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 quota MAX_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() o wait() 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.

Restituisce

Un oggetto apiproxy_stub_map.UserRPC specializzato per questo servizio.