Sha256: 9d19b88089e26a42e408c85c6282a226e6cf771f7aab7e1fc714a45777756ae7

Contents?: true

Size: 1.65 KB

Versions: 1

Compression:

Stored size: 1.65 KB

Contents

# GrowingQueueCondition [![Build Status](https://travis-ci.org/rubyisbeautiful/growing_queue_condition.png)](https://travis-ci.org/rubyisbeautiful/growing_queue_condition)[![Code Climate](https://codeclimate.com/github/rubyisbeautiful/growing_queue_condition.png)](https://codeclimate.com/github/rubyisbeautiful/growing_queue_condition)

This is a God::Condition for god [http://godrb.com/] to alert on a queue that is growing.  The principal use case is
for a background processors, such as DelayedJob, Resque, ActiveMQ, etc...
but could be for any growing queue/table/data store.

## Installation

Add this line to your application's Gemfile:

    gem 'growing_queue_condition'

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install growing_queue_condition

## Usage

The gem requires a class that responds to an instance method queue_size.  The class must be accessible to god.

### Example

``my_class.rb``
{code}
class MyClass

def <<*self

  def queue_size
    # code returning an int or int-able value
  end

end
{code}

``god_config.rb``
{code}
require 'growing_queue_condition'

restart.condition(:growing_queue) do |c|
    c.times     = [3,5]
    c.interval  = 30.seconds
    c.obj       = MyClass.new
end

{code}

The example will call the instantiated MyClass instance method queue_size at least 4 times.  If the size is larger or
the same each time, the condition will fail.  See 'Examples' for possible usages.

## Contributing

1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
growing_queue_condition-0.0.1 README.md