Daemon Kit - RubyKaigi 2009

2,622 views
2,582 views

Published on

My RubyKaigi 2009 lightning talk on daemon-kit

Published in: Technology, Business
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,622
On SlideShare
0
From Embeds
0
Number of Embeds
554
Actions
Shares
0
Downloads
17
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Daemon Kit - RubyKaigi 2009

  1. 1. Facing your daemons    
  2. 2. Ruby daemons are a PITA  Tired of brittle daemons ?  Tired of running blind ?  Tired of setting up monitoring ?  Tired of worrying about logging ?  Tired of missing pid files ?    
  3. 3. daemon­kit http://github.com/kennethkalmer/daemon-kit Kenneth Kalmer @kennethkalmer http://opensourcery.co.za    
  4. 4. daemon­kit ?  Opionated Framework for Ruby daemons  Keep things DRY  Generators to help make things simple  Rake tasks to help keep things simple    
  5. 5. Multiple environments  Development  Be noisy, break early, break hard  Testing  Staging  Production  Be quiet, stay alive, recover easily    
  6. 6. Don't worry about pid files  Managed for you  Infered or explicit files  Great for controlling clusters  Handles stale pid files    
  7. 7. Don't worry about logging  Multiple levels  Syslog support  Log rotation friendly (HUP)    
  8. 8. Don't worry about configuration  Simple YAML config files  On­demand hashes  Environment­aware configuration  Defaults and environment specific overrides    
  9. 9. Don't worry about monitoring  Generate monit/god configuration files via rake    
  10. 10. Don't worry about silent death  Safety nets for threads  Hoptoad integration  Exception emails  Change logging levels with SIGUSR1/SIGUSER2    
  11. 11. Generators accelarate  AMQP consumer  Nanite agent  XMPP bot  Cron daemon  Ruote remote participants   $ daemon_kit mydaemon ­i amqp    
  12. 12. Easy deployment  Custom capistrano recipe tailored for daemons  Awaiting vlad contribution :)   $ daemon_kit mydaemon ­d capistrano  $ ./script/generate deploy_capistrano    
  13. 13. Suitable for networking  EventMachine is a dependency  AMQP uses EM  Scheduler uses EM  XMPP to use EM (under construction)    
  14. 14. Looking forward  RobustThread support  Bundled thread/fibre pool implementation  Sys V Init script generation  Bleakhouse support  Privilege dropping & chroot'ing    
  15. 15. Arigato gozaimasu !  http://github.com/kennethkalmer/daemon­kit  http://kit.rubyforge.org/daemon/rdoc  #daemon­kit on Freenode   http://opensourcery.co.za  @kennethkalmer    

×