From: Andre Nathan Date: 2008-08-07T01:56:28+09:00 Subject: [ANN] Ruby/Watchcat 1.0.1 and Ruby/Watchcat-pure 1.0.0 Hello I'm pleased to announce a new release of Ruby/Watchcat. This release includes a fix to a possible descriptor leak in the C extension and also a pure-Ruby version of the library, which makes it usable in other Ruby implementations. RDoc documentation is now available too. Ruby/Watchcat is an extension for Ruby for the development of watchcatd-aware applications. Watchcatd is a watchdog-like daemon in the sense that it takes actions in situations where a machine is under heavy load and/or unresponsive. However, watchcatd isn't as drastic as the usual watchdog systems, which reboot the machine. Instead, all it does is sending a signal to a registered process (which by default is SIGKILL) if the process doesn't send it a heartbeat before a user-specified timeout. Ruby/Watchcatd allows you to register ruby applications with watchcatd. Install it with gem install ruby-watchcat or gem install ruby-watchcat-pure Examples: require 'watchcat' # Create a new cat. cat = Watchcat.new(:timeout => 10, :signal => 'KILL', :info => 'killing from ruby') loop do # Here you do something that could exceed the timeout sleep 9 + rand(3) cat.heartbeat # we're still alive end cat.close # clean the cat's litter box You can also use a block, in which case the cat cleans its own litter box: require 'watchcat' Watchcat.new do |cat| loop do do_something_that_can_be_slow cat.heartbeat end end For more details, please refer to the README file in the distribution and in the project's homepage at http://oss.digirati.com.br/ruby-watchcat/ Best regards, Andre Nathan