Introduction

Ruby/Watchcat allows the development of watchcatd-aware applications in Ruby.

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 generally 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 a Ruby application to register itself with watchcatd.

Requirements

Ruby/Watchcatd was tested with Ruby versions >= 1.8.4 and requires watchcatd version 1.1 and libwcat version 1.0 to be installed (see References below).

For FreeBSD support, you need at least watchcatd 1.2 (and libwcat 1.1 if you are using the C extension).

Installation

The easiest way to install Ruby/Watchcat is to use rubygems:

  • For the C extension:

gem install ruby-watchcat
  • For the pure-Ruby version:

gem install ruby-watchcat-pure

The C extension requires you to have the libwcat development package installed.

License

Copyright © 2006, 2007, 2008 Andre Nathan <[email protected]>

Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

Author

Ruby/Watchcat was developed by Andre Nathan.

References