jackrabbit
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/jackrabbit package

    4.4.0 • Public • Published

    Jackrabbit

    Build Status NPM version

    RabbitMQ in Node.js without hating life.

    Simple Example

    producer.js:

    var jackrabbit = require('jackrabbit');
    var rabbit = jackrabbit(process.env.RABBIT_URL);
     
    rabbit
      .default()
      .publish('Hello World!', { key: 'hello' })
      .on('drain', rabbit.close);

    consumer.js:

    var jackrabbit = require('jackrabbit');
    var rabbit = jackrabbit(process.env.RABBIT_URL);
     
    rabbit
      .default()
      .queue({ name: 'hello' })
      .consume(onMessage, { noAck: true });
     
    function onMessage(data) {
      console.log('received:', data);
    }

    Ack/Nack Consumer Example

    var jackrabbit = require('jackrabbit');
    var rabbit = jackrabbit(process.env.RABBIT_URL);
     
    rabbit
      .default()
      .queue({ name: 'important_job' })
      .consume(function(data, ack, nack, msg) {
     
        // process data...
        // and ACK on success
        ack();
     
        // or alternatively NACK on failure
        // NOTE: this will requeue automatically
        nack();
     
        // or, if you want to nack without requeue:
        nack({
          requeue: false
        });
      })

    Jackrabbit is designed for simplicity and an easy API. If you're an AMQP expert and want more power and flexibility, check out Rabbot.

    More Examples

    For now, the best usage help is can be found in examples, which map 1-to-1 with the official RabbitMQ tutorials.

    Installation

    npm install --save jackrabbit
    

    Tests

    The tests are set up with Docker + Docker-Compose, so you don't need to install rabbitmq (or even node) to run them:

    $ docker-compose run jackrabbit npm test
    

    If using Docker-Machine on OSX:

    $ docker-machine start
    $ eval "$(docker-machine env default)"
    $ docker-compose run jackrabbit npm test
    

    Release

    Releases should be tagged according to Semantic Versioning

    Process:

    • Add release notes to releases.md
    • Commit add push the release notes git commit releases.md && git push origin master
    • Release it ./node_modules/release-it/bin/release-it.js

    Install

    npm i jackrabbit

    DownloadsWeekly Downloads

    2,910

    Version

    4.4.0

    License

    MIT

    Unpacked Size

    32.4 kB

    Total Files

    24

    Last publish

    Collaborators

    • hunterloftis
    • matmar10