Herd a pack of Rails mongrels. You can use it to control multiple mongrel clusters in different directories at the same time. Herd started as a project to manage the different projects on my development machine, so that is how it has been used and tested.
herd action projectname
herd help
Show all herd options. It looks a lot like this readme.
herd init foobar
Create a new entry in ~/.herd.yml for the foobar project:
--- foobar: merbs: [] mongrel_options: [] rails_dirs: []
The next step is to edit this entry in a text editor, to define your rails and/or merb directories and mongrel options:
--- foobar: merbs: - ~/projects/foobar/fileserver mongrel_options: --clean rails_dirs: - ~/projects/foobar/backend - ~/projects/foobar/frontend
herd start projectname [extra mongrel options] herd stop projectname [extra mongrel options] herd restart projectname [extra mongrel options]
Send a command to the mongrel cluster of each rails directory in the project. You can optionally specify extra mongrel options that need to be added to the configured mongrel options for this call only.
herd list
List a short summary of all existing projects:
foobar rails_dirs: 2 - ~/projects/foobar/backend - ~/projects/foobar/frontend merbs: 1 - ~/projects/foobar/fileserver mongrel_options: --clean
Turn herd into a gem Refactor code into multiple smaller classes with their own responsibilities. A first rough divide:
-
Herd (for top-level coordination and managing multiple projects)
-
Project (represent one project)
-
MongrelGroup (represent a number of mongrels and their configuration)
-
MerbGroup (represent a number of merbs and their configuration)
- Author
-
Wes ‘Narnach’ Oldenbeuving (github.com/Narnach)
- Contributors
-
Filip H.F. ‘FiXato’ Slagter (github.com/FiXato)
- Website
- Copyright
-
Copyright © 2008 Wes Oldenbeuving
- License
-
MIT license. See MIT-LICENSE for license details.