taskmaster

Screenshot Software:
taskmaster
Detalii soft:
Versiune: 0.8.1
Incarca data: 14 Apr 15
Producător: David Cramer
Licenţă: Gratuit
Popularitate: 2

Rating: nan/5 (Total Votes: 0)

supraveghetor este o coadă de simplu distribuită proiectat pentru manipularea număr mare de sarcini unice.
Am construit acest lucru la Disqus să se ocupe de frecvente, dar mai puțin frecvente sarcini, cum ar fi "migra aceste date într-o nouă schemă".
De ce?
S-ar putea întreba: "De ce nu folosiți Țelină?". Ei bine, răspunsul este pur și simplu faptul că de așteptare normală necesită (nu literal, dar că ar fi dureros fără) sa tampon toate sarcinile într-o locație centrală. Acest lucru devine o problemă atunci când aveți o cantitate mare de sarcini, mai ales atunci când acestea conțin o cantitate mare de date.
Imaginați-vă că aveți 1 miliard de sarcini, fiecare în greutate de la 5k. Asta, necomprimate, la minim 4 terabiti de stocare necesare doar pentru a ține că în jurul, și tu câștigă foarte puțin.
Supraveghetor pe de altă parte, este conceput pentru a lua o iterator resumable, și trage doar într-un număr maxim de locuri de muncă la un moment dat (folosind standardul Python coadă lui). Acest lucru asigură un model de memorie consistent, care poate scala liniar.
Utilizare
Creați un iterator, și callback:
soclu import
# Trebuie să ne asigurăm de expirare implicit ** nu este setat ** sau rahat întâmplare va lovi ventilatorul.
socket.setdefaulttimeout (Niciuna)
# Supraveghetor / example.py
get_jobs definiție (ultimul = 0):
& Nbsp; # ultimul va fi trimis dacă stat a fost reluată
& Nbsp; # de la o centrare anterior
& Nbsp; for i in xrange (ultimul, 100000000):
& Nbsp; # de locuri de muncă trebuie să fie dat serializeable cu zeama
& Nbsp; randament i
def handle_job (i):
& Nbsp; # aceasta ** ** trebuie să fie idempotent, ca reluarea procesului poate executa un loc de muncă
& Nbsp; # care au fost deja executați
& Nbsp; de imprimare "Got% r!" % I
Ruleze un maestru:
& Nbsp; tm-maestru taskmaster.example
Ruleze un sclav:
& Nbsp; tm-sclav taskmaster.example
Sau da naștere 8 sclavi (fiecare conținând un threadpool):
& Nbsp; tm-icre taskmaster.example 8
Dont ca funcția magică a descoperi de master / slave? Precizați propriile obiective:
& Nbsp; tm-maestru taskmaster.example: get_jobs $ TM-slave taskmaster.example: handle_job

Notă:
Toate argumentele sunt opționale, și va implicit la localhost cu nici o cheie de autentificare

Cerințe :.

  • Python

Alte software-uri de dezvoltator David Cramer

django-sentry
django-sentry

11 May 15

django-indexer
django-indexer

12 May 15

Sentry
Sentry

10 Dec 15

nexus
nexus

15 Apr 15

Comentarii la taskmaster

Comentariile nu a fost găsit
Adauga comentarii
Porniţi pe imagini!