While you weren’t looking, Cromwell — Lord Protector of your scripts turned 0.4. The new features include:
- logger support,
- inspect and change Cromwell’s state,
- restore original traps after protection end,
- custom traps support.
…and I have run out of To Do list items. So if you use Cromwell (the gem has been downloaded 165 times from Gemcutter as the time of this writing and the github project has 22 watchers so I assume there are some users of it) and you miss some feature or you found some bug or incompatibility, let me know. Otherwise, happy protecting!
I’m back after a few months hiatus to present you a shiny new gem of Ruby technology: Cromwell — Lord Protector of your scripts. From the README:
[Cromwell] allows you to easily protect your scripts from being killed while they are doing something that should not be interrupted (e.g. interacting with some non-transactional service) or is too costly to restart (e.g. long computations).
More info and examples can be found on Cromwell’s github page. Gem is hosted on Gemcutter, so installation should be as easy as
sudo gem install cromwell.
The API and code are minimalistic for now, but I have some features planned for upcoming versions. While signal handling isn’t rocket science, I haven’t yet seen a gem to do it in a more convenient way than Ruby’s
Signal.trap. It would also be good if the gem provided compatibility layer over some OS’s quirks if possible.
Comments, suggestions, bug reports and bug fixes welcome. If you find it useful, I’d be glad to hear it. If you think it’s a piece of crap, I’d like to hear that, too :)
And, last but not least, I wish you a Happy New Year 2010!