taskmaster

Logiciel capture d'écran:
taskmaster
Détails logiciels:
Version: 0.8.1
Date de transfert: 14 Apr 15
Développeur: David Cramer
Licence: Gratuit
Popularité: 37

Rating: nan/5 (Total Votes: 0)

taskmaster est une file d'attente répartie simple conçu pour traiter un grand nombre de tâches ponctuelles.
Nous avons construit cette DISQUS à gérer fréquentes, mais rares tâches comme «migrer ces données vers un nouveau schéma".
Pourquoi?
Vous pourriez vous demander, "Pourquoi ne pas utiliser céleri?". Eh bien la réponse est tout simplement que les files d'attente normale nécessite (pas littéralement, mais ce serait sans douloureuse) vous au tampon toutes les tâches dans un emplacement central. Cela devient un problème lorsque vous avez une grande quantité de tâches, surtout quand ils contiennent une grande quantité de données.
Imaginez que vous avez milliard tâches, chacun pesant à 5k. Cest, non compressé, au minimum 4 téraoctets de stockage nécessaires juste pour garder qu'environ, et vous gagne très peu.
Taskmaster d'autre part est conçu pour prendre un itérateur peut être repris, et seulement tirer dans un nombre maximum d'emplois à la fois (en utilisant la norme de Python Queue). Cela garantit un modèle de mémoire cohérente qui peut évoluer linéairement.
Utilisation
Créer un itérateur, et rappel:
prise d'importation
# Nous devons veiller à ce délai par défaut ne est pas réglé ** ** ou merde aléatoire allons frapper le ventilateur.
socket.setdefaulttimeout (Aucun)
# Taskmaster / example.py
get_jobs def (dernière = 0):
& Nbsp; # dernière serait envoyé si l'état a été repris
& Nbsp; # d'une exécution précédente
& Nbsp; for i in xrange (dernière, 100 000 000):
& Nbsp; # d'emplois ont donné doit être serializeable avec cornichon
& Nbsp; le rendement i
def handle_job (i):
& Nbsp; # cette ** ** must être idempotent, comme la reprise du processus peut exécuter un emploi
& Nbsp; # qui avait déjà été exécuté
& Nbsp; print "Got% r!" % I
Frayer un maître:
& Nbsp; tm-maître taskmaster.example
Frayer un esclave:
& Nbsp; tm-esclave taskmaster.example
Ou frayer huit esclaves (contenant chacun un threadpool):
& Nbsp; tm-spawn taskmaster.example 8
Ne comme la fonction magique pour découvrir maître / esclave? Précisez vos propres objectifs:
& Nbsp; tm-maître taskmaster.example: get_jobs $ tm-esclave taskmaster.example: handle_job

Note:
Tous les arguments sont optionnels, et seront par défaut à localhost sans clé d'authentification

Exigences :.

  • Python

D'autres logiciels de développeur David Cramer

nose-bisect
nose-bisect

14 Apr 15

django-sentry
django-sentry

11 May 15

django-indexer
django-indexer

12 May 15

Commentaires à taskmaster

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!