taskmaster

Screenshot Λογισμικό:
taskmaster
Στοιχεία Λογισμικού:
Εκδοχή: 0.8.1
Ανεβάστε ημερομηνία: 14 Apr 15
Προγραμματιστής: David Cramer
Άδεια: Δωρεάν
Δημοτικότητα: 37

Rating: nan/5 (Total Votes: 0)

αφεντικό είναι μια απλή επιμεριστική ουρά σχεδιαστεί για να χειρίζεται μεγάλο αριθμό εφάπαξ καθήκοντα.
Χτίσαμε αυτό στο DISQUS να χειριστεί συχνές, αλλά όχι συχνές εργασίες όπως «μεταναστεύουν αυτά τα δεδομένα σε ένα νέο σχήμα».
Γιατί;
Μπορείτε να ρωτήσετε, "Γιατί να μην χρησιμοποιήσουμε Σέλινο;». Λοιπόν η απάντηση είναι απλά ότι η κανονική αναμονή απαιτεί (όχι κυριολεκτικά, αλλά θα ήθελα να είναι επώδυνη χωρίς) μπορείτε να αμβλυνθούν όλα τα καθήκοντα σε μια κεντρική τοποθεσία. Αυτό γίνεται ένα πρόβλημα όταν έχετε ένα μεγάλο ποσό των καθηκόντων, ιδίως όταν αυτά περιέχουν μεγάλη ποσότητα δεδομένων.
Φανταστείτε έχετε 1 δισ καθήκοντα, το καθένα ζυγίζει σε 5k. Αυτός, ασυμπίεστο, τουλάχιστον 4 terabytes αποθήκευσης που απαιτείται μόνο για να κρατήσει ότι γύρω, και σας κερδίζει πολύ λίγο.
Εργοδηγός από την άλλη πλευρά έχει σχεδιαστεί για να λάβει μια αναληπτέος iterator, και τραβήξτε μόνο σε ένα μέγιστο αριθμό θέσεων εργασίας σε έναν χρόνο (με τη χρήση τυποποιημένων Python ουρά του). Αυτό εξασφαλίζει ένα σταθερό μοτίβο της μνήμης που μπορεί να επεκταθεί γραμμικά.
Χρήση
Δημιουργήστε ένα iterator, και επανάκλησης:
υποδοχή εισαγωγής
# Πρέπει να διασφαλίσουμε προεπιλεγμένο χρονικό όριο ** Δεν έχει οριστεί ** ή τυχαία σκατά θα χτυπήσει τον ανεμιστήρα.
socket.setdefaulttimeout (Καμία)
# Επιστάτη / example.py
get_jobs def (τελευταίο = 0):
& Nbsp? # Τελευταία θα πρέπει να σταλεί αν η κατάσταση αυτή συνεχίζεται
& Nbsp? # Από μια προηγούμενη εκτέλεση
& Nbsp? For i in xrange (τελευταία, 100000000):
& Nbsp? # Θέσεις εργασίας απέδωσε πρέπει να serializeable με τουρσί
& Nbsp? Απόδοση θ
def handle_job (i):
& Nbsp? # Αυτό ** ** must να idempotent, όπως συνεχιστεί η διαδικασία μπορεί να εκτελέσει μια εργασία
& Nbsp? # Που είχε ήδη τρέξει
& Nbsp? Εκτύπωσης "Got% R!" % I
Γεννούν ένα master:
& Nbsp? TM-master taskmaster.example
Στόχο την αναπαραγωγή ενός σκλάβου:
& Nbsp? TM-σκλάβων taskmaster.example
Ή αναπαράγονται 8 δούλοι (το καθένα περιέχει ένα threadpool):
& Nbsp? TM-γόνου taskmaster.example 8
Αρέσει το μαγικό λειτουργία ανακαλύψετε master / slave; Καθορίστε τους δικούς σας στόχους:
& Nbsp? TM-master taskmaster.example: get_jobs $ TM-σκλάβων taskmaster.example: handle_job

Σημείωση:
Όλα τα επιχειρήματα είναι προαιρετική, και θα προκαθορίσει localhost χωρίς κλειδί auth

Απαιτήσεις :.

  • Python

Άλλο λογισμικό του προγραμματιστή David Cramer

sentry-github
sentry-github

20 Feb 15

nexus
nexus

15 Apr 15

php-httplib
php-httplib

5 Jun 15

nexus-memcache
nexus-memcache

15 Apr 15

Σχόλια για taskmaster

Τα σχόλια δεν βρέθηκε
προσθήκη σχολίου
Ενεργοποιήστε τις εικόνες!