Code Monkey home page Code Monkey logo

lizzy's Introduction

Lizzy โ€“ The lightweight agent system for AMQP for Ruby

Features

  • Automatic logging of publishing, receiving, and errors through AMQP
  • Built-in event tracking via logging
  • Easy to use DSL for listening and publishing of events
  • Tight integration with tmm1-amqp so you may take advantage of advanced AMQP features
  • Used in Production at Heroku to manage/scale all your apps!

Setup / Dependencies

You will need RabbitMQ or another AMQP server installed (only tested with RabbitMQ)

http://www.rabbitmq.com/install.html#generic-unix

Gem dependencies

Install

gem install lizzy

or

Download source from http://github.com/heroku/lizzy

A quick listener example

# agent.rb
require 'rubygems'
require 'lizzy'

Lizzy.start({}) do # start AMQP with sensible defaults

  Lizzy.listen4("mail.sent") do |listener, info, req|
    p [Time.now, :request, req]

    # We need to save an attachment.  This may take awhile; defer from here
    listener.defer do
      save_attachment(req[:attachment], "baxter.jpg")
      o.publish("attachment.saved", { :filename => "baxter.jpg" })
    end

  end
end

Sending message from a CLI script


# send_message.rb
require "rubygems"
require "lizzy"

Lizzy.start do
  Lizzy.publish("mail.sent", { :attachment => 'hello world' })
  Lizzy.stop_safe
end

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.