Módulo google.appengine.ext.ndb.eventloop

Resumo

Um loop de evento.

Esse loop de evento precisa processar objetos RPC assíncronos do App Engine (mais especificamente, objetos urlfetch, memcache e RPC do armazenamento de dados) e funções de retorno de chamada arbitrárias com um atraso opcional.

Normalmente, loops de evento são objetos singleton, mas não há aplicação desse requisito.

A API aqui é inspirada por Monocle.

Índice

class google.appengine.ext.ndb.eventloop.EventLoop(clock=None)source

Bases: object

Um loop de evento.

add_idle(callback, *args, **kwds)source

Adicione um retorno de chamada ocioso.

Um retorno de chamada ocioso pode retornar True, False ou None. Veja os significados:

  • None: remova o retorno de chamada (não reprogramar).

  • False: o retorno de chamada não funcionou. Reprograme mais tarde.

  • True: o retorno de chamada fez um trabalho. Reprograme em breve.

Se o retorno de chamada gerar uma exceção, o rastreio será registrado e o retorno de chamada será removido.

clear()source

Remova todos os eventos pendentes sem executar nenhum.

insort_event_right(event, lo=0, hi=None)source

Insira o evento na fila e o mantenha classificado pressupondo-se que a fila esteja classificada.

Se o evento já estiver na fila, insira-o à direita do evento na ponta direita (para manter a ordem FIFO).

Os argumentos opcionais lo (padrão 0) e hi (padrão len(a)) vinculados à fatia a ser pesquisada.

Parâmetros

event: uma tupla (time in sec since unix epoch, callback, args, kwds).

queue_call(delay, callback, *args, **kwds)source

Programe uma chamada de função em uma hora específica no futuro.

queue_rpc(rpc, callback=None, *args, **kwds)source

Programe uma RPC com um retorno de chamada opcional.

O autor da chamada precisa ter enviado anteriormente a chamada para o serviço. O retorno de chamada opcional é chamado com os argumentos restantes.

OBSERVAÇÃO: se a RPC for MultiRpc, o retorno de chamada será chamado uma vez para cada sub-RPC. TODO: é uma boa ideia?

run()source

Execute até que não haja mais nada a fazer.

run0()source

Execute um item (um retorno de chamada ou um wait_any RPC).

Retorna

Um tempo para suspensão caso algo tenha acontecido (pode ser zero). None, caso todas as filas estejam vazias.

run1()source

Execute um item (um retorno de chamada ou um wait_any RPC) ou suspensão.

Retorna

True caso algo tenha acontecido. False caso todas as filas estejam vazias.

run_idle()source

Execute um dos retornos de chamada ociosos.

Retorna

True caso um tenha sido chamado, False caso nenhum retorno de chamada ocioso tenha sido chamado.

google.appengine.ext.ndb.eventloop.add_idle(callback, *args, **kwds)source
google.appengine.ext.ndb.eventloop.queue_call(*args, **kwds)source
google.appengine.ext.ndb.eventloop.queue_rpc(rpc, callback=None, *args, **kwds)source
google.appengine.ext.ndb.eventloop.get_event_loop()source

Retorne uma instância de EventLoop.

Uma nova instância é criada para cada nova solicitação HTTP. Determinamos que estamos em uma nova solicitação inspecionando os.environ, redefinido no início de cada solicitação. Além disso, cada thread recebe o próprio loop.

google.appengine.ext.ndb.eventloop.run()source
google.appengine.ext.ndb.eventloop.run0()source
google.appengine.ext.ndb.eventloop.run1()source
Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Ambiente padrão do App Engine para Python 2