django-patchboard

Logiciel capture d'écran:
django-patchboard
Détails logiciels:
Version: 0.0.1
Date de transfert: 11 May 15
Développeur: Jason Kraus
Licence: Gratuit
Popularité: 5

Rating: 5.0/5 (Total Votes: 1)

django-patchboard est une application Django qui fournit divers modèles utilisant des signaux de Django.
court terme Queue
Optimisé pour l'achèvement dans un cycle de demande. Mieux que le frai un nouveau thread pour chaque élément, qui pourrait manger toutes les ressources à la fois (connexions mysql manquer, frai 500 processus, etc). Seulement optimale si allouer des opérations sont à faire. Peut-être réduire les frais généraux en gardant tout en mémoire. tâches de file d'attente ont un délai forcée (15 secondes?). Articles dans la file d'attente expirent si elles ne sont pas récupérés dans le temps (45 secondes, demander délai - limite d'article de la tâche). Les tâches qui prennent trop de temps seront rapportés dans un journal. Articles expirant tandis que dans la file d'attente seront rapport dans un journal et, éventuellement, le nombre de processus. Si un certain nombre d'éléments dans la file d'attente sont à risque d'expirer puis éventuellement le nombre de processus. Spécifiez une fonction de retour de chute en cas d'expiration. Serait probablement de retour Aucun ou déclencher une exception.
Disjoncteur
patchboard / circuitbreaker.py
Utilisé pour limiter l'utilisation des ressources tout en une 3ème partie est en baisse. Si X échecs consécutifs, ouvrent le circuit et utilisent une exception à chaque appel CircuitOpen. Après un délai spécifié, elle-même les tests de circuits, en cas de succès, fermer le circuit. Les exceptions non gérées comptent comme un échec et sont transmis vers le haut.
Une tâche peut se reprogrammer pour une date ultérieure si le circuit est ouvert. Les auditeurs de déterminer si l'utilisation d'un disjoncteur, idéal si elle est de frapper le fil.
Signal catégories
Fire and forget
L'utilisation classique de signaux de django
Deux catégories possibles d'auditeurs:
- Vous voulez un effet immédiat, pas de file d'attente
- Peut être mis sur une file d'attente et terminé en dehors du cycle de demande
Les auditeurs de déterminer si elles doivent être en attente ou non
Collectionneurs
examples / collector.py
Tire un signal et recueille les réponses de tous les auditeurs. Peut agréger les résultats, mais se fait sur le côté du collecteur. Les auditeurs peuvent être mis en attente, mais ne peuvent utiliser à court terme file d'attente. Collector détermine si les auditeurs doivent être en file d'attente. Peut détecter le nombre d'auditeurs et seulement par défaut à court terme file d'attente, si elle est supérieure à un certain nombre.
Utile pour les intégrations de l'API. Les applications peuvent simplement écouter le signal et apporter leur contribution. L'application de mise à feu recueille simplement et agrège les résultats.
Signaux avec Effets secondaires
patchboard / prioritizeddispatcher.py
Les auditeurs peuvent partager un objet qu'ils modifient. Doit être une priorité pour garantir l'ordre des effets secondaires. Utilisation des files d'attente est probablement pas une bonne idée dans ce scénario.
Erreur Collecte
patchboard / signals.py
Lorsque les auditeurs ont une exception non gérée nous pouvons veulent pas l'erreur de propigate jusqu'à (dépend généralement de l'auditeur). . Nous ne voulons cependant de se connecter cette erreur et retourner une valeur par défaut

Exigences :

  • Python
  • Django

D'autres logiciels de développeur Jason Kraus

django-browsecap
django-browsecap

11 May 15

django-ledger
django-ledger

11 May 15

django-fullhistory
django-fullhistory

11 May 15

django-dockit
django-dockit

14 Apr 15

Commentaires à django-patchboard

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