README.md in bluepill-0.0.66 vs README.md in bluepill-0.0.67

- old
+ new

@@ -1,8 +1,13 @@ # Bluepill -Bluepill is a simple process monitoring tool written in Ruby. +Bluepill is a simple process monitoring tool written in Ruby. +[![Build Status](https://travis-ci.org/bluepill-rb/bluepill.png)](https://travis-ci.org/bluepill-rb/bluepill) +[![Dependency Status](https://gemnasium.com/bluepill-rb/bluepill.png)](https://gemnasium.com/bluepill-rb/bluepill) +[![Code Climate](https://codeclimate.com/github/bluepill-rb/bluepill.png)](https://codeclimate.com/github/bluepill-rb/bluepill) +[![Coverage Status](https://coveralls.io/repos/bluepill-rb/bluepill/badge.png)](https://coveralls.io/r/bluepill-rb/bluepill) + ## Installation It's hosted on [rubygems.org][rubygems]. sudo gem install bluepill @@ -48,11 +53,11 @@ ```ruby Bluepill.application("app_name") do |app| app.process("process_name") do |process| process.start_command = "/usr/bin/some_start_command" process.pid_file = "/tmp/some_pid_file.pid" - + process.checks :cpu_usage, :every => 10.seconds, :below => 5, :times => 3 end end ``` @@ -64,11 +69,11 @@ Bluepill.application("app_name") do |app| app.process("process_name") do |process| process.start_command = "/usr/bin/some_start_command" process.pid_file = "/tmp/some_pid_file.pid" - process.checks :cpu_usage, :every => 10.seconds, :below => 5, :times => 3 + process.checks :cpu_usage, :every => 10.seconds, :below => 5, :times => 3 process.checks :mem_usage, :every => 10.seconds, :below => 100.megabytes, :times => [3,5] end end ``` @@ -78,11 +83,11 @@ Bluepill.application("app_name") do |app| app.process("process_name") do |process| process.start_command = "/usr/bin/some_start_command" process.pid_file = "/tmp/some_pid_file.pid" - process.checks :cpu_usage, :every => 10.seconds, :below => 5, :times => 3 + process.checks :cpu_usage, :every => 10.seconds, :below => 5, :times => 3 process.checks :mem_usage, :every => 10.seconds, :below => 100.megabytes, :times => [3,5] process.checks :file_time, :every => 60.seconds, :below => 3.minutes, :filename => "/tmp/some_file.log", :times => 2 end end ``` @@ -111,11 +116,11 @@ process.pid_file = "/tmp/some_pid_file.pid" process.start_grace_time = 3.seconds process.stop_grace_time = 5.seconds process.restart_grace_time = 8.seconds - process.checks :cpu_usage, :every => 10.seconds, :below => 5, :times => 3 + process.checks :cpu_usage, :every => 10.seconds, :below => 5, :times => 3 process.checks :mem_usage, :every => 10.seconds, :below => 100.megabytes, :times => [3,5] end end ``` @@ -141,11 +146,11 @@ process.start_command = "/usr/bin/some_start_command" process.pid_file = "/tmp/some_pid_file.pid" process.uid = "deploy" process.gid = "deploy" - process.checks :cpu_usage, :every => 10.seconds, :below => 5, :times => 3 + process.checks :cpu_usage, :every => 10.seconds, :below => 5, :times => 3 process.checks :mem_usage, :every => 10.seconds, :below => 100.megabytes, :times => [3,5] end end ``` @@ -255,11 +260,11 @@ ```ruby process.monitor_children do |child_process| child_process.checks :cpu_usage, :every => 10, :below => 5, :times => 3 child_process.checks :mem_usage, :every => 10, :below => 100.megabytes, :times => [3, 5] - + child_process.stop_command = "kill -QUIT {{PID}}" end ``` Note {{PID}} will be substituted for the pid of process in both the stop and restart commands. @@ -281,14 +286,14 @@ ```ruby Bluepill.application("app_name") do |app| app.process("process_name") do |process| process.start_command = "/usr/bin/env SOME_VAR=1 /usr/bin/some_start_command" - + process.working_dir = "/tmp/some_dir" process.stdout = process.stderr = "/tmp/server.log" - + process.pid_file = "/tmp/some_pid_file.pid" end end ``` @@ -297,11 +302,11 @@ ### CLI #### Usage bluepill [app_name] command [options] - + For the "load" command, the _app_name_ is specified in the config file, and must not be provided on the command line. For all other commands, the _app_name_ is optional if there is only one bluepill daemon running. Otherwise, the _app_name_ must be @@ -329,21 +334,21 @@ To quit the bluepill daemon for an application: sudo bluepill quit -### Logging +### Logging By default, bluepill uses syslog local6 facility as described in the installation section. But if for any reason you don't want to use syslog, you can use a log file. You can do this by setting the :log\_file option in the config: ```ruby Bluepill.application("app_name", :log_file => "/path/to/bluepill.log") do |app| # ... end ``` Keep in mind that you still need to set up log rotation (described in the installation section) to keep the log file from growing huge. - + ### Extra options You can run bluepill in the foreground: ```ruby Bluepill.application("app_name", :foreground => true) do |app| @@ -352,11 +357,39 @@ ``` Note that You must define only one application per config when using foreground mode. ## Links -Code: [http://github.com/arya/bluepill](http://github.com/arya/bluepill) -Bugs/Features: [http://github.com/arya/bluepill/issues](http://github.com/arya/bluepill/issues) -Mailing List: [http://groups.google.com/group/bluepill-rb](http://groups.google.com/group/bluepill-rb) +* Code: [http://github.com/bluepill-rb/bluepill](http://github.com/bluepill-rb/bluepill) +* Bugs/Features: [http://github.com/bluepill-rb/bluepill/issues](http://github.com/bluepill-rb/bluepill/issues) +* Mailing List: [http://groups.google.com/group/bluepill-rb](http://groups.google.com/group/bluepill-rb) [rubygems]: http://rubygems.org/gems/bluepill + +## Supported Ruby Versions +This library aims to support and is [tested against][travis] the following Ruby +implementations: + +* Ruby 1.8.7 +* Ruby 1.9.2 +* Ruby 1.9.3 +* Ruby 2.0.0 +* Ruby 2.1.0 +* [JRuby][] +* [Rubinius][] + +[jruby]: http://jruby.org/ +[rubinius]: http://rubini.us/ + +If something doesn't work on one of these interpreters, please open an issue. + +This library may inadvertently work (or seem to work) on other Ruby +implementations, however support will only be provided for the versions listed +above. + +If you would like this library to support another Ruby version, you may +volunteer to be a maintainer. Being a maintainer entails making sure all tests +run and pass on that implementation. When something breaks on your +implementation, you will be responsible for providing patches in a timely +fashion. If critical issues for a particular implementation exist at the time +of a major release, support for that Ruby version may be dropped.