1.1.2 • Published 11 years ago

queuepasa v1.1.2

Weekly downloads
9
License
-
Repository
github
Last release
11 years ago

QueuePasa

###Crazy simple redis-backed scheduling.###

QueuePasa makes it super easy to schedule messages to be delivered at a later time/date.

Scheduling

It's as easy as qpasa.schedule('Hey', 60000) which will deliver the message 'Hey' in 60,000ms (1 minute).

You can also schedule an exact date and time to deliver instead. Just pass a Date object instead of a delay:

qpasa.schedule('Hey', new Date('May 07 2013 8:00 PM'));

Warning: Don't pass a unix timestamp as an integer (a string is fine) because it will be interpreted as a delay.

qpasa.schedule('Hey', 1367892625698); //Bad! Your message will be delivered in a few decades!
qpasa.schedule('Hey', "1367892625698"); //However, this works as expected. Just be careful.

Usage

var QueuePasa = require('queuepasa'),
    //These are the current options and their defaults...
    qpasa = new QueuePasa({
      host: '127.0.0.1',
      port: 6379,
      groupBy: 'day',
      interval: 5000,
      delayMultiplier: 1,
      prefix: 'qp'
    });

qpasa.on('item', function(item) {
  console.log('New message: %s', item);
});

qpasa.schedule('Hey', new Date('May 07 2013 8:00 PM'));

Couldn't be easier.

Options

The options object isn't necessary. You can just use new QueuePasa() if the defaults are to your liking.

host: Where is the Redis instance? default = '127.0.0.1'

port: The Redis port. default = 6379

groupBy: QueuePasa speeds things up by placing your queued items in buckets by day. If you have a high volume, you can change this to hour. default = 'day'

interval: How often to check for messages. default = 5000

delayMultiplier: You can have your delay number multiplied. For example, set delayMultiplier to 60000 then your delay argument will be interpreted as minutes instead of miliseconds. default = 1

prefix: The first part of the bucket name. Buckets look something like qp:2013-05-07:z. default = 'qp'

1.1.2

11 years ago

1.0.0

11 years ago