2009-06-10 3 views
1

Je suis en train d'exécuter des scripts d'intégration continue de base sous la forme de tâches rake, en utilisant cron pour automatiser leur exécution.Maintien de la persistance lors de l'utilisation des tâches de rake

J'aimerais cependant pouvoir conserver une certaine forme d'état entre les tâches. J'ai envisagé d'écrire des informations dans un fichier et de les relire.

Y a-t-il un moyen plus "ruby" de faire cela?

Répondre

3

C'est une technique assez standard pour ce genre de situation. La seule façon de "ruby" un peu serait de faire usage d'un Gem qui fait ce genre de chose pour vous hors de la boîte, bien que de rouler le vôtre pour une tâche simple de préservation de l'Etat ne devrait pas être si difficile.

La sérialisation de votre état dans un fichier est assez simple, tout comme la désérialisation pour obtenir toutes les informations d'état dont vous avez besoin lors du redémarrage. Vous pouvez facilement utiliser le module YAML pour cela. Cela étant dit, il peut être plus pratique d'utiliser quelque chose comme des démons pour gérer un processus d'arrière-plan qui s'endort de temps en temps plutôt que de s'appuyer sur quelque chose comme cron pour lancer des tâches. Il existe également un certain nombre de délégateurs de tâches de gestion des tâches d'arrière-plan, tels que Starling et Workling, qui pourraient être une meilleure approche pour faire vos scripts d'intégration petit à petit plutôt que d'un seul coup.

Questions connexes