Classe de Contexto do NDB

Um aplicativo usa um Contexto para controlar a respectiva política de armazenamento em cache. Context também oferece APIs assíncronas convenientes para Memcache e busca de URL integradas às instalações assíncronas do NDB; em particular, a API Memcache é compatível com o agrupamento automático em lote.

Métodos de Instância do gerenciamento de caches

clear_cache()
Limpa o cache no contexto.
flush()
Limpe todas as filas de loteadores automáticos, enviando o trabalho para os servidores. A limpeza é feita de forma assíncrona.

Retorna um Future. Para aguardar a limpeza terminar, chame o método wait() deste objeto.

get_cache_policy()
Retorna a função da política de cache. Essa função de política usa um argumento de instância Key e retorna um bool indicando se a entidade com essa chave precisa ser armazenada no cache em contexto. Pode ser None (ou seja, usar default_cache_policy).
get_datastore_policy()
Retorna a função de política do Datastore do contexto atual. Essa função de política usa um argumento de instância Key e retorna um bool indicando se ele precisa usar o Datastore. Pode ser None (ou seja, usar default_datastore_policy).
get_memcache_policy()
Retorna a função de política atual do memcache. Essa função de política usa um argumento de instância Key e retorna um bool indicando se ele precisa ser armazenado em cache. Pode ser None (ou seja, usar default_memcache_policy).
get_memcache_timeout_policy()
Retorna a função de política de tempo limite atual do memcache. Essa função de política usa um argumento de instância Key e retorna o tempo limite desejado para o memcache em segundos ou retorna zero para usar o tempo limite padrão. Pode ser None, que usa default_memcache_timeout_policy.
set_cache_policy(func)
Configura a função da política de cache.

Argumentos

func
Essa função usa um argumento de instância Key e retorna um bool indicando se a entidade com essa chave precisa ser armazenada no cache em contexto. Pode ser None.
set_datastore_policy(func)
Configura a função de política do Datastore.

Argumentos

func
Essa função recebe um argumento de instância Key e retorna um bool indicando se a entidade com essa chave precisa ser armazenada no Datastore permanente. Pode ser None.
set_memcache_policy(func)
Configura a função de política do memcache.

Argumentos

func
Essa função usa um argumento de instância Key e retorna um bool indicando se a entidade com essa chave precisa ser armazenada no cache em contexto. Pode ser None.
set_memcache_timeout_policy(func)
Configura a função de política de tempo limite do memcache.

Argumentos

func
Essa função usa um argumento de instância Key e retorna o tempo limite pretendido do memcache em segundos ou retorna zero para usar o tempo limite padrão. Pode ser None.

Métodos de instância do Memcache e Urlfetch

A lista completa de métodos é encontrada na referência da Memcache API. A lista abaixo destaca alguns métodos mais usados:

memcache_add(key, value, time, namespace)
Memcache de envio em lote automático assíncrono add().
memcache_cas(key, value, time, namespace)
Memcache de envio em lote automático assíncrono Client cas() (comparar e trocar).
memcache_decr(key, delta, initial_value, namespace)
Memcache de envio em lote automático assíncrono decr().
memcache_delete(key, seconds, namespace)
Memcache de envio em lote automático assíncrono delete().
memcache_get(key, namespace, use_cache)
Memcache de envio em lote automático assíncrono get().

Retorna um Future, que tem o valor de retorno como valor recuperado do Memcache ou None.

memcache_gets(key, namespace, use_cache)
Memcache de envio em lote automático assíncrono gets().
memcache_incr(key, delta, initial_value, namespace)
Memcache de envio em lote automático assíncrono incr().
memcache_replace(key, value, time, namespace)
Memcache de envio em lote automático assíncrono replace().
memcache_set(key, value, time, namespace, use_cache)
Memcache de envio em lote automático assíncrono set().
urlfetch(url, payload, method, headers, allow_truncated, follow_redirects, validate_certificate, deadline, callback)
urlfetch de envio em lote automático assíncrono fetch().

Métodos de gerenciamento de transações

call_on_commit(callback)
Forma filas de callback a serem realizados após efetuar a confirmação de uma transação.

O retorno de chamada é feito imediatamente caso não esteja em uma transação.

Em uma transação, diversos retornos de chamada são registrados e serão realizados assim que a transação executar o commit na ordem de registro em que estiverem registrados. Em caso de falha na transação, os retornos de chamada não serão realizados.

Se um retorno de chamada gerar uma exceção, ela aparecerá normalmente. Isso significa que, se o retorno de chamada for realizado imediatamente, qualquer exceção levantada também aparecerá imediatamente. Se a chamada for adiada até a confirmação, os callbacks restantes serão ignorados e a exceção aparecerá na chamada transaction(). No entanto, nesse ponto a transação já terá executado o commit.

Argumentos

callback
Função de callback. Esta função não aceita parâmetros e não retorna nada.
in_transaction()
Retorna True se este contexto representar uma transação. Caso contrário, retornará False.

Métodos estáticos

default_cache_policy(key)
Verifica uma variável de classe _use_cache na classe de modelo da entidade. Se houver, será retornada. Caso contrário, retorna None.
default_datastore_policy(key)
Verifica uma variável de classe _use_datastore na classe de modelo da entidade. Se houver, será retornada. Caso contrário, retorna None.
default_memcache_policy(key)
Verifica uma variável de classe _use_memcache na classe de modelo da entidade. Se houver, será retornada. Caso contrário, retorna None.
default_memcache_timeout_policy(key)
Verifica uma variável de classe _memcache_timeout na classe de modelo da entidade. Se houver, será retornada. Caso contrário, retorna None.