2009-11-13 21 views
19

Je suis à la recherche d'un planificateur de tâches d'entreprise pour python, comme le quartz est pour Java. Exigences:Un planificateur d'entreprise pour python (comme le quartz)

  • persistants: si le redémarrage du processus ou le redémarrage de la machine, tous les emplois doivent y rester et doit être tiré après le redémarrage.
  • Les tâches doivent entrer et quitter le planificateur dans une transaction (c'est-à-dire si une opération de base de données échoue, dans une base de données non liée au planificateur, le travail ne doit pas avoir quitté le planificateur).
  • Évolutivité. Cela dépend de la mesure du succès du projet, mais je préférerais savoir dès le départ que je ne pars pas d'une impasse.
  • configurabilité: lorsque les tâches arrivent à échéance, combien peuvent être alimentée simultanément, etc.

Toutes les recommandations? Y a-t-il quelque chose de spécifique à python, ou est-ce possible (ou même bon) de s'interfacer avec Quartz à partir de python.

Répondre

3

Vous pouvez utiliser Celery

Céleri est une file d'attente file d'attente de tâches asynchrone/travail distribué basé sur passage de messages. Il est axé sur le fonctionnement en temps réel, mais prend également en charge la planification .

Installer Céleri en utilisant pip install celery

Une autre option utilise RQ.

RQ (Redis file d'attente) est une simple bibliothèque Python pour faire la queue et des emplois leur traitement en arrière-plan avec les travailleurs. Il est soutenu par Redis et il est conçu pour avoir une faible barrière à l'entrée. Il devrait être intégré dans votre pile Web facilement.

Installation à l'aide de pip install rq.