History.txt
Path:
History.txt
Last Update:
Tue Sep 09 23:54:16 +0000 2008
0.6.0 /
Minor Enhancement
Move Syslog calls into
God::Logger
and clean up all calling code
Remove god‘s pid file on user requested termination
Better handling and cleanup of DRb server‘s unix domain socket
Allow shorthand for requesting a god log
Add `god check` to make it easier to diagnose event problems
Refactor god binary into class/method structure
Implement `god remove` to remove a Task altogether
New Conditions
DiskUsage < PollCondition - trigger if disk usage is above limit on mount [Rudy Desjardins]
0.5.2 / 2007-10-10
Minor Enhancement
Allow extra args to pass through to config file
0.5.1 / 2007-10-08
Bug Fixes
Rescue connection refused in http response code condition
0.5.0 / 2007-10-05
Major Enhancements
Implement lifecycle scoped metric to allow for cross-state conditions
Add TriggerCondition for conditions that need info about state changes
Implement notification system
Add Tasks (a generalization of Watches) to do non-process related tasks
Add example init.d file in GOD_INSTALL_DIR/init/god [scott becker]
Add human readable info to conditions (and make low level log lines debug)
Switch DRb to use a unix domain socket for security reasons
Minor Enchancements
Allow EventConditions to do transition overloading
Report errors during god startup instead of failing silently
Make transition block optional (default to Always condition returning true)
Better usage info for `god —help`
Explain what‘s going on when attempting to rebind to an in-use port
Add -b option to god binary to auto-bind to an unused port
Add `god quit` to stop god without stopping any tasks
Make self-daemonized Watch commands synchronous (as they should be)
Allow self-daemonized Watches to specify a log (could be useful)
Check for existence of config file if specified
Robustify `god load` and report errors back to the command issuer
Warn when `god load` tries to set global options
Add Configurable.clear method and make built-in conditions clear on entry
New Conditions
Flapping < TriggerCondition - trigger on state change
HttpResponseCode < PollCondition - trigger on http response code or timeout (thx scott becker)
New Contacts
Email < Contact - notify via email (smtp)
Bug Fixes
Fix abort not aborting problem
Fix -p option not working for god binary
Fix God.init not accepting block (thx _eric)
Fix SIGHUP ignore (thx _eric)
Fix error reporting on `god —help` (don‘t error report a normal SystemExit)
0.4.3 / 2007-09-10
Bug Fixes
fix Process#alive? to not raise on no such file (affects `god terminate`)
0.4.2 / 2007-09-10
Bug Fixes
fix netlink buffer issue that prevented events on Linux from working consistently [dkresge]
0.4.1 / 2007-09-10
Bug Fixes
require ‘stringio’ for ruby 1.8.5
0.4.0 / 2007-09-10
Major Enhancements
Add the ability for conditions to override transition state (for exceptional cases)
Implement dynamic load of config files while god is running (god load <filename>)
Add ability to save auto-daemonized process output to a log file
Add robust default stop lambda command for auto-daemonized processes (inspired by _eric)
Add status command for god binary (shows status of each watch)
Create proper logger with timestamps
Add log command to god binary to get real time logs for a specific watch from a running god instance
Add terminate command for god binary (stop god and all watches)
Minor Enhancements
Enforce validity of Watches
Enforce that God.init is not called after a Watch
Move pid_file_directory creation and validation to
God.start
Remove check for at least one Watch during startup (now that dynamic loading exists)
New Conditions
Tries < PollCondition - triggers after the specified number of tries
Add :notify_when_flapping behavior to check for oscillation [kevinclark]
Add :degrading_lambda condition. [kevinclark] It uses a decaying interval (1/2 rate) for 3 cycles before failing.
Bug Fixes
Use exit!(0) instead of exit! in god binary to exit with code 0 (instead of default -1)
Command line group control fixed
Fix cross-thread return problem
0.3.0 / 2007-08-17
Fix netlink header problem on Ubuntu Edgy [Dan Sully]
Add uid/gid setting for processes [kevinclark]
Add autostart flag for watches so they don‘t necessarily startup with god [kevinclark]
Change command line call options for god binary to accommodate watch start/stop functionality
Add individual start/stop/restart grace periods for finer grained control
Change default DRb port to 17165 (‘god’.to_i(32))
Implement command line control to start/restart/stop/monitor/unmonitor watches/groups by name
Watches can now belong to a group that can be controlled as a whole
Allow god to be installed (sans events) on systems that don‘t support events
Daemonize and handle PID files for non-daemonizing scripts [kevinclark]
Fix simple mode lifecycle gap
Remove necessity to specify pid_file for conditions
Change config file to use God.init and
God.watch
directly instead of God.meddle block
Move god binary command logic to main library
Enhance god binary with better reporting
Fix synchronization bug in Timer (reported by Srini Panguluri)
Add Lambda condition for easy custom conditions [Mike Mintz]
Add sugar for numerics (seconds, minutes, kilobytes, megabytes, percent, etc)
Add optional PID and log file generation to god binary for daemon mode
Add
God.load
to do glob enabled loading
Add -V option to god binary for detailed version/build info
0.2.0 / 2007-07-18
Rewrote innards to use a state and event based lifecycle
Basic support for events via kqueue (bsd/darwin) and netlink/pec (linux) [kevinclark]
Added advanced syntax (simple syntax calls advanced api underneath)
Condition returns have changed meaning. With simple syntax, a true return activates block
Updated
god.rubyforge.org
with updated simple config and new advanced config
0.1.0 / 2007-07-07
1 major enhancement
Birthday!
[Validate]