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.