taskmaster

Tela Software:
taskmaster
Detalhes de Software:
Versão: 0.8.1
Data de upload: 14 Apr 15
Revelador: David Cramer
Licença: Livre
Popularidade: 37

Rating: 2.0/5 (Total Votes: 1)

capataz é uma fila distribuída simples projetado para lidar com grandes números de tarefas pontuais.
Nós construímos esta no DISQUS para lidar com freqüentes, mas tarefas incomuns como "migrar esses dados para um novo esquema".
Por quê?
Você pode perguntar: "Por que não usar aipo?". Bem, a resposta é simplesmente que filas normais requer (não literalmente, mas seria doloroso sem) você para tamponar todas as tarefas em um local central. Isso se torna um problema quando você tem uma grande quantidade de tarefas, especialmente quando eles contêm uma grande quantidade de dados.
Imagine que você tem 1 bilhão de tarefas, cada uma pesando 5k. Isso é, sem compressão, no mínimo 4 terabytes de armazenamento necessário apenas para manter isso por aí, e você ganha muito pouco.
Capataz, por outro lado é projetado para ter um iterator resumable, e só puxar um número máximo de trabalhos de cada vez (usando o padrão Python Queue de). Isso garante um padrão de memória consistente que pode ser dimensionada de forma linear.
Uso
Criar uma iteração, e de retorno de chamada:
Tomada de importação
# Temos de garantir tempo limite padrão ** não está definido ** ou merda aleatória vai bater no ventilador.
socket.setdefaulttimeout (None)
# Capataz / example.py
get_jobs def (last = 0):
& Nbsp; # última seria enviado se o estado foi retomada
& Nbsp; # a partir de uma execução anterior
& Nbsp; para i em xrange (último, 100 milhões):
& Nbsp; # empregos gerados deve ser serializeable com pickle
& Nbsp; i rendimento
handle_job def (i):
& Nbsp; # este ** ** must ser idempotente, como retomar o processo pode executar uma tarefa
& Nbsp; # que já havia sido executado
& Nbsp; print "Got% r!" % Eu
Spawn um mestre:
& Nbsp; taskmaster.example tm-master
Spawn um escravo:
& Nbsp; taskmaster.example tm-escravo
Ou desovar 8 escravos (cada um contendo um pool de threads):
& Nbsp; tm-spawn taskmaster.example 8
Não como a função mágica para descobrir master / slave? Especifique seus próprios objectivos:
& Nbsp; tm-mestre taskmaster.example: get_jobs $ taskmaster.example tm-escravo: handle_job

Nota:
Todos os argumentos são opcionais, e será o padrão para localhost sem chave auth

Requisitos :.

  • Python

Outro software de desenvolvedor David Cramer

django-sphinx
django-sphinx

11 May 15

mock-django
mock-django

14 Apr 15

nose-bleed
nose-bleed

14 Apr 15

django-data-tools
django-data-tools

11 May 15

Comentário para taskmaster

Comentários não encontrado
Adicionar comentário
Ligue imagens!