[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

[ANN] god 0.1.0 released

Tom Werner

7/9/2007 6:24:00 PM

I'm proud to announce the initial public release of god!

http://god.ruby...


WHAT IS GOD?

God is an easy to configure, easy to extend monitoring framework written
in Ruby.

Keeping your server processes and tasks running should be a simple part
of your deployment process. God aims to be the simplest, most powerful
monitoring application available.


DISCLAIMER

God is still very young, I'd love to get feedback and bug reports, but I
do not yet recommend you use it for mission critical tasks. I personally
use it in production but then I'm a daring fellow.


INSTALL

sudo gem install god

* note: currently tested only on Redhat Linux and Darwin (won't work on
Windows)


FEATURES

* Config file is written in Ruby
* Easily write your own custom conditions in Ruby
* Supports both poll and event based conditions
* Different poll conditions can have different intervals


EXAMPLE

The easiest way to understand how god will make your life better is by
looking at a sample config file. The following configuration file is
what I use at gravatar.com to keep the mongrels running:

# file: gravatar.god
# run with: god start -c /path/to/gravatar.god
#
# This is the actual config file used to keep the mongrels of
# gravatar.com running.

RAILS_ROOT = "/var/www/gravatar2/current"

God.meddle do |god|
%w{8200 8201 8202}.each do |port|
god.watch do |w|
w.name = "gravatar2-mongrel-#{port}"
w.interval = 30 # seconds
w.start = "mongrel_rails cluster::start --only #{port} -C #{RAILS_ROOT}/config/mongrel_cluster.yml"
w.stop = "mongrel_rails cluster::stop --only #{port} -C #{RAILS_ROOT}/config/mongrel_cluster.yml"
w.grace = 10 # seconds

pid_file = File.join(RAILS_ROOT, "log/mongrel.#{port}.pid")

w.behavior(:clean_pid_file) do |b|
b.pid_file = pid_file
end

w.start_if do |start|
start.condition(:process_not_running) do |c|
c.interval = 5 # seconds
c.pid_file = pid_file
end
end

w.restart_if do |restart|
restart.condition(:memory_usage) do |c|
c.pid_file = pid_file
c.above = (150 * 1024) # 150mb
c.times = [3, 5] # 3 out of 5 intervals
end

restart.condition(:cpu_usage) do |c|
c.pid_file = pid_file
c.above = 50 # percent
c.times = 5
end
end
end
end
end


DOCS

Detailed documentation is available at http://god.ruby...


CHANGES

== 0.1.0 / 2007-07-07

* 1 major enhancement
* Birthday!


AUTHOR

Tom Preston-Werner

34 Answers

Todd Burch

7/9/2007 7:06:00 PM

0

Why would you pick the name "god"? Surely there are more appropriate
names for a piece of software.

Todd Burch (yes, I am a Christian)

--
Posted via http://www.ruby-....

Joel VanderWerf

7/9/2007 7:27:00 PM

0

Wayne E. Seguin wrote:
> On Jul 09, 2007, at 15:05 , Todd Burch wrote:
>> Why would you pick the name "god"? Surely there are more appropriate
>> names for a piece of software.
>>
>> Todd Burch (yes, I am a Christian)
>
> haha! I was waiting for a comment on that!
>
> To me the name makes much sense because that is effectively what the
> "piece of software" does, it plays god with the lives of daemons and
> processes. Hence seems to be named very well to me.

Maybe "god" is simply an acronym, as proposed by Douglas Hofstadter:

http://www.google.com/search?hl=en&q=god+...

You can s/djinn/daemon/ if you like.

--
vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407

Trans

7/9/2007 9:31:00 PM

0

I'm basically agnostic, but I still find "god" a poor name. It just
has too much semantic weight. An ancient name for god may carry
better, like "Deus".

My 2c.
T.


John Joyce

7/9/2007 11:15:00 PM

0


On Jul 9, 2007, at 4:31 PM, Trans wrote:

> I'm basically agnostic, but I still find "god" a poor name. It just
> has too much semantic weight. An ancient name for god may carry
> better, like "Deus".
>
> My 2c.
> T.
>
>


Oh my god!

Michael Fellinger

7/10/2007 2:13:00 AM

0

On 7/10/07, Trans <transfire@gmail.com> wrote:
> I'm basically agnostic, but I still find "god" a poor name. It just
> has too much semantic weight. An ancient name for god may carry
> better, like "Deus".

My monitoring framework was called abyss, for it keeps my daemons :)

^ manveru

Travis D Warlick Jr

7/10/2007 2:25:00 AM

0

Tom Werner wrote:
> I'm proud to announce the initial public release of god!
>
> http://god.ruby...

You need to add God.smite()

--
Travis Warlick

"Programming in Java is like dealing with your mom --
it's kind, forgiving, and gently chastising.
Programming in C++ is like dealing with a disgruntled
girlfriend -- it's cold, unforgiving, and doesn't tell
you what you've done wrong."

M. Edward (Ed) Borasky

7/10/2007 2:42:00 AM

0

Tom Werner wrote:
> I'm proud to announce the initial public release of god!
>
> http://god.ruby...
>
>
> WHAT IS GOD?
>
> God is an easy to configure, easy to extend monitoring framework written
> in Ruby.
>
> Keeping your server processes and tasks running should be a simple part
> of your deployment process. God aims to be the simplest, most powerful
> monitoring application available.
>
>
> DISCLAIMER
>
> God is still very young, I'd love to get feedback and bug reports, but I
> do not yet recommend you use it for mission critical tasks. I personally
> use it in production but then I'm a daring fellow.
>
>
> INSTALL
>
> sudo gem install god
>
> * note: currently tested only on Redhat Linux and Darwin (won't work on
> Windows)
>
>
> FEATURES
>
> * Config file is written in Ruby
> * Easily write your own custom conditions in Ruby
> * Supports both poll and event based conditions
> * Different poll conditions can have different intervals
>
>
> EXAMPLE
>
> The easiest way to understand how god will make your life better is by
> looking at a sample config file. The following configuration file is
> what I use at gravatar.com to keep the mongrels running:
>
> # file: gravatar.god
> # run with: god start -c /path/to/gravatar.god
> #
> # This is the actual config file used to keep the mongrels of
> # gravatar.com running.
>
> RAILS_ROOT = "/var/www/gravatar2/current"
>
> God.meddle do |god|
> %w{8200 8201 8202}.each do |port|
> god.watch do |w|
> w.name = "gravatar2-mongrel-#{port}"
> w.interval = 30 # seconds
> w.start = "mongrel_rails cluster::start --only #{port} > -C #{RAILS_ROOT}/config/mongrel_cluster.yml"
> w.stop = "mongrel_rails cluster::stop --only #{port} > -C #{RAILS_ROOT}/config/mongrel_cluster.yml"
> w.grace = 10 # seconds
> pid_file = File.join(RAILS_ROOT, "log/mongrel.#{port}.pid")
> w.behavior(:clean_pid_file) do |b|
> b.pid_file = pid_file
> end
>
> w.start_if do |start|
> start.condition(:process_not_running) do |c|
> c.interval = 5 # seconds
> c.pid_file = pid_file
> end
> end
> w.restart_if do |restart|
> restart.condition(:memory_usage) do |c|
> c.pid_file = pid_file
> c.above = (150 * 1024) # 150mb
> c.times = [3, 5] # 3 out of 5 intervals
> end
> restart.condition(:cpu_usage) do |c|
> c.pid_file = pid_file
> c.above = 50 # percent
> c.times = 5
> end
> end
> end
> end
> end
>
>
> DOCS
>
> Detailed documentation is available at http://god.ruby...
>
>
> CHANGES
>
> == 0.1.0 / 2007-07-07
>
> * 1 major enhancement
> * Birthday!
>
>
> AUTHOR
>
> Tom Preston-Werner
>
>

Interesting ... the Gang of Four say you shouldn't have a "god" class,
but you went and did it anyway. :)

Gregory Brown

7/10/2007 2:46:00 AM

0

On 7/9/07, Tom Werner <pubsub@rubyisawesome.com> wrote:

> DISCLAIMER
>
> God is still very young, I'd love to get feedback and bug reports, but I
> do not yet recommend you use it for mission critical tasks. I personally
> use it in production but then I'm a daring fellow.

Doesn't that just mean you have faith in God?

Tim Pease

7/10/2007 2:54:00 AM

0

On 7/9/07, Gregory Brown <gregory.t.brown@gmail.com> wrote:
> On 7/9/07, Tom Werner <pubsub@rubyisawesome.com> wrote:
>
> > DISCLAIMER
> >
> > God is still very young, I'd love to get feedback and bug reports, but I
> > do not yet recommend you use it for mission critical tasks. I personally
> > use it in production but then I'm a daring fellow.
>
> Doesn't that just mean you have faith in God?
>
>


God.smite( Thread.current )


TwP

Mark Gallop

7/10/2007 3:21:00 AM

0

Travis D Warlick Jr wrote:
> Tom Werner wrote:
>
>> I'm proud to announce the initial public release of god!
>>
>> http://god.ruby...
>>
>
> You need to add God.smite()
>

Hahaha, I liked that one.

Mark