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: 2

Rating: nan/5 (Total Votes: 0)

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

sentry-webhooks
sentry-webhooks

20 Feb 15

Sentry
Sentry

10 Dec 15

sentry-pivotal
sentry-pivotal

20 Feb 15

Django-PayPal
Django-PayPal

20 Jul 15

Comentário para taskmaster

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