I’m proud to announce that daemon-kit has finally made it to 0.1.8.1, almost a year after the last patch release. There has been a lot of changes since the last release, mostly cleanly up and staying with the times (so to speak). Github has an awesome compare view, detailing the historic moment, and I’ll go through it here in some detail as well.
First off I’d like to thank a few people who have quietly and vocally contributed to or promoted daemon-kit. In no particular order, thanks goes to:
- Josh Owens (@joshowens) for actively testing bug fixes and promoting the project
- Mike Perham (@mperham) for actively reporting bugs, providing patches and promoting the project
- I’ve pulled in patches from the forks of Michael Hutchinson, Milan Novota, Joey Geiger, and John Merrels
- Greg Campbell reported an issue with the AMQP generated daemons only hours after pushing 0.1.8 to gemcutter
The two biggest changes for me has been converting all the generators to use Thor, and using Bundler in the generated daemons. Both of these projects have received some flack, but they both continue to serve me very well and I’m sure they’ll serve daemon-kit well.
The logger got some minor updates, to be more compatible with the standard Ruby logger class. A brand new XMPP generator is included, and it uses Blather for some awesome evented-goodness. Argument handling got fixed up, email exceptions got removed from the project (I might consider implementing them after overhauling the error reporting features of dk). Hoptoad error reporting got upgraded to the use the newer API. The generated rake tasks are more forgiving when rspec/cucumber or other gems are missing. The cron daemon got some love, allowing easier exception logging/notification for when scheduled tasks fail.
I’ll continue chipping away at the project, tidying up loose ends as they are reported, and start developing a proper test suite for everything.
Over the long term I’m hoping to reach the following goals:
- Always running the eventmachine reactor (think node.rb)
- Support for more modular daemons, including ‘single-file’ daemons
- Support for daemons inside Rails projects
Some things will probably get thrown out, like generating configs for god & monit. The more I use chef, the more I realize that those responsibilities lie with the infrastructure management (or devops), and not within the project itself. I’m aware this might cause an upset, however I firmly believe that a lighter and smaller daemon-kit will serve the greater community better.
Thanks for making daemon-kit the number 1 daemonizing project. Please share the love and send feedback, and more importantly use Github issues to log issues, feedback, and wishes.