taskmaster

Skjermbilde programvare:
taskmaster
Prog.varedetaljer:
Versjon: 0.8.1
Last opp dato: 14 Apr 15
Utvikler: David Cramer
Lisens: Gratis
Popularitet: 2

Rating: nan/5 (Total Votes: 0)

oppdragsgiver er en enkel distribuert kø designet for å håndtere store mengder engangsoppgaver.
Vi bygde dette på Disqus å håndtere hyppige, men mindre vanlige oppgaver som "migrere disse dataene til en ny skjema".
Hvorfor?
Du kan spørre: "Hvorfor ikke bruke Selleri?". Vel svaret er ganske enkelt at normal kø krever (ikke bokstavelig talt, men det vil være smertefullt uten) du å bufre alle oppgaver inn i en sentral plassering. Dette blir et problem når man har en stor mengde av oppgaver, særlig når de inneholder en stor mengde data.
Tenk deg at du har 1 milliard oppgaver, hver med en vekt på 5k. Dvs, ukomprimert, på minimum 4 terabyte lagringsplass som kreves bare for å holde det rundt, og får du svært lite.
Oppdragsgiver på den annen side er utformet for å ta en Pause iterator, og bare trekke i et maksimalt antall arbeidsplasser i en tid (ved hjelp av standard Python Queue-tallet). Dette sikrer en konsistent minne mønster som kan skalere lineært.
Bruk
Lag en iterator, og tilbakeringing:
import socket
# Vi må sikre standard timeout ** er ikke satt ** eller tilfeldig dritt vil treffer viften.
socket.setdefaulttimeout (Ingen)
# Taskmaster / example.py
def get_jobs (siste = 0):
& Nbsp; # siste ville bli sendt hvis staten ble gjenopptatt
& Nbsp; # fra et tidligere løp
& Nbsp; for jeg i xrange (siste, 100 millioner):
& Nbsp; # jobber ga må være serializeable med pickle
& Nbsp; avkastning i
def handle_job (i):
& Nbsp; # dette ** must ** bli idempotent, som gjenoppta prosessen kan utføre en jobb
& Nbsp; # som allerede hadde blitt kjørt
& Nbsp; print "Got% r!" % I
Gyte en mester:
& Nbsp; tm-mester taskmaster.example
Gyte en slave:
& Nbsp; tm-slave taskmaster.example
Eller gyte åtte slaver (som hver inneholder en threadpool):
& Nbsp; tm-spawn taskmaster.example 8
Dont like magisk funksjon oppdage for master / slave? Angi dine egne mål:
& Nbsp; tm-mester taskmaster.example: get_jobs $ tm-slave taskmaster.example: handle_job

Merk:
Alle argumenter er valgfrie, og vil som standard til localhost uten auth tasten

Krav .

  • Python

Annen programvare fra utvikleren David Cramer

django-uuidfield
django-uuidfield

20 Feb 15

Sentry
Sentry

20 Feb 15

mock-django
mock-django

14 Apr 15

nydus-django
nydus-django

14 Apr 15

Kommentarer til taskmaster

Kommentarer ikke funnet
Legg til kommentar
Slå på bilder!