Worat.

fila de tarefa python
Baixe Agora

Worat. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Other/Proprietary Li...
  • Preço:
  • FREE
  • Nome do editor:
  • Daniel Miller
  • Site do editor:
  • http://www.openpolitics.com/pieces

Worat. Tag


Worat. Descrição

WorQ é uma fila de tarefa Python Library. Existem dois componentes principais que trabalham juntos: - TaskQueue-WorkerPoolworq navios com mais de uma implementação de cada um desses componentes.- Worq.Queue.Memory.TaskQueue - uma fila de tarefa em memória (processo local). - Worq.Queue. Redis.TaskQueue - uma fila de tarefa apoiada pela Redis que pode escalar para vários servidores.- Worq.pool.thread.workerpool - uma piscina multi-thread .- worq.pool.process.workerpool - uma piscina multi-processador. Os componentes podem ser misturados e combinados para atender a várias necessidades. Exemplo com o Redis e um funcionário multi-processo poolcrie os seguintes arquivos.Tasks.py:Import LoggingFrom Work Import Get_Broker, TaskPacets = Taskspace (__ Nome __) Def init (URL): log. BASICCONFIG (nível = logging.debug) Broker = get_broker (url) broker.expose (ts) return broker@ts.taskdef num (valor): return Int(Value)@ts.taskdef add (valores): retorno soma (valores) pool.py:#!/Usr/bin/env pythonimport sysfrom worq.pool.process importação de importaçãopoolFrom Tarefas Import InitDef Main (URL): Broker = init (URL) pool = trabalho erpool (broker, init, trabalhadores = 2) pool.start () se __name__ == '__main__': principal (sys.argv ) main.py: #! / bin / bin / env pythonimport Sysimport loggingfrom importação work get_queuedef principal (URL): logging.basicconfig (nível = logging.debug) q = get_queue (url) # enqueue tarefas a serem executadas em números paralelos = # Processe os resultados quando eles estão prontos Result = Q.Tasks.add (nums) # Aguarde o resultado final.wait (Timeout = 30) Imprimir ('0 + 1 + ... + 9 = {}'. Formato ( Result.Value)) Se __Name__ == '__main__': main (sys.argv ) verifique se o Redis está aceitando conexões na porta 6379. É recomendado, mas não é necessário, que você configura um virtualenv. Em seguida, em uma janela do terminal: Pip Install "Worq " Pilhão Pool.py Redis: // localhost: 6379 / 0and em uma segunda janela do terminal: Python Main.py Redis: // localhost: 6379 / 0see exemplos.py Para mais coisas que podem ser feitas com worq.download, o Source, ele no GitHub: https://github.com/millerdev/worq/running O desenvolvimento do testworq é feito principalmente usando o TDD. Os testes são importantes para verificar se o novo código funciona. Você pode querer executar os testes se quiser contribuir para WorQ ou simplesmente querer hackear. Configure um VirtualEnv e execute esses comandos em que você verificou o código-fonte WORQ: PIP Install Nose NosetestsThe testes para alguns componentes (por exemplo, a Redis TaskQueue), a menos que os requisitos necessários estejam disponíveis. Por exemplo, por padrão, os testes procuram Redis no Redis: // localhost: 16379/0 (Nota porta não padrão; você pode personalizar este URL com a variável de ambiente WORQ_TEST_REDIS_URL).


Worat. Software Relacionado