Many headed is a trivial little application of the unix fork mechanism.
It's designed to supervise N workers (the heads of the hydra), restarting them if they fail to complete successfully.
The usage is as follows:
require "many-headed" head_number = ManyHeaded.hydra 5 # We now have 5 processes at this point, plus the original process acting as a supervisor. some_code
If any of the heads fails (exits with a non-zero status code - e.g. due to an uncaught exception), it will restart automatically from the point at which hydra was called.
Fork the project.
Make your feature addition or bug fix.
Add tests for it. This is important so I don't break it in a future version unintentionally.
Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
Send me a pull request. Bonus points for topic branches.
Copyright © 2010 David R. MacIver. See LICENSE for details.