TGEXT.ASYNCJOB.

Trabalhador de empregos assíncronos para turboogears2
Baixe Agora

TGEXT.ASYNCJOB. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • LGPL
  • Nome do editor:
  • Alessandro Molina
  • Site do editor:
  • http://www.objectblues.net/wiki/show/FlatLand

TGEXT.ASYNCJOB. Tag


TGEXT.ASYNCJOB. Descrição

Trabalhador de empregos assíncronos para turboogears2 TGEXT.ASYNCJOB é uma extensão de turboogears2 feita para lidar com trabalhos de fundo / síncrono. Permits para retornar rapidamente respostas ao usuário enquanto o sistema executa mais trabalho no fundo, ele pode ser útil para transcodificação de vídeo, geração de miniaturas ou outras tarefas em que o usuário não pode esperar o tempo de exigência antes de obter uma resposta. Para executar uma tarefa no fundo simplesmente executar: De TGEXT.ASYNCJOB ASYNCJOB_PERFORFORFORM (CALLABLE, ARG1, ARG2, KWARG = Valor) Instalação: TGEXT.ASYNCJOB pode ser instalado tanto de Pypi ou de Bitbucket: Easy_install TGEXT.AsyncJobside apenas funcionar para a maioria dos usersenabling asyncjobin seu aplicativo lib / app_globals.py import start_async_worker: de tagext.asyncjob import start_async_workerand chamar-o dentro do __init __: classe Globals (objeto): def __init __ (auto): start_async_worker () você pode passar os globais se objectam para a função start_async_worker, que será usado para Armazene a fila de tarefas, caso contrário AsyncJob automatizará o objeto Globals da estrutura da pilha de chamadas obtendo o objeto dentro de onde foi calle D.PerForming Background Tasksto Execute uma tarefa de fundo Você pode simplesmente usar TGEXT.ASYNCJOB.AsyncJob_perform chamado de qualquer contexto onde há uma solicitação válida, ele executará o chamado passado como primeiro argumento em segundo plano com os parâmetros fornecidos: da importação de TGEXT.ASYNCJOB AsyncJob_PerFormDef Background_Task (Number): Imprimir Number * 2asyncJob_PerForm (Background_Task, 5) Aceder ao banco de dados, asyncjob padrão gerencia sessões e transações de Sqlalchemy por si só. Cada tarefa de fundo é encapsulada em uma transação que é revertida em caso de qualquer exceção.AsyncJob usa sua própria sessão Sqlalchemy, então nunca passe um objeto já vinculado a outra sessão. Consulte-os novamente. A única questão que os desenvolvedores podem ter que ter que ter em mente é que, ao procurar objetos que eles acabaram de criar antes de iniciar a tarefa de fundo, eles ainda não podem estar disponíveis dentro do DB. Para evitar este problema AsyncJob fornece assyncJob_timed_Query, que irá realizar uma consulta procurando um resultado até que o resultado em si seja encontrado ou um tempo limite seja atingido (por padrão 60 segundos). Isso pode ser usado para buscar objetos de fundo criados antes de iniciar a tarefa de fundo esperando Para aparecer no banco de dados: de TGExt.asyncjob Import AsyncJob_Perform, AsyncJob_Timed_Query @ Exposição () Def Controller_Method (auto): def assync_query_action (group_id): grupo = asyncjob_timed_query (dbsession.query (grupo) .filter_by (group_id = group_id)). Primeiro () Group.display_name = 'Grupo G = G = (Group_Name =' Test_Group ') dbsession.add (g) dbsession.flush () asyncjob_perform (assync_Query_action, g.group_id) retornar' ok'to alterar o tempo limite você pode simplesmente passe diferentes parâmetros de tentativas e intervalos para asyncjob_timed_query: assyncjob_timed_query (DBSESSESS.Query (grupo) .filter_by (group_id = group_id), tentativas = 10, intervalo = 6) .first () Requisitos: · Pitão


TGEXT.ASYNCJOB. Software Relacionado

Requisito

Baixe dependências do Python e faça o upload deles para um servidor PYPI personalizado ...

224

Download