0.0.1-1 • Published 11 years ago

resumable v0.0.1-1

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

Resumable

Define a resumable task queue.

Usage

  var Resumable = require('resumable');
  var mod = require('./foo');

  // Use some kind of persistent storage
  // with available 'get/set' methods.
  // A redis client, for example.
  var store = new Redis(...);

  var queue = new Resumable({
    key: 'queue-foo',
    mod: mod,
    storage: store,
    ensure: function(list) {
      var seen = {};
      var ret = list.filter(function(arg) {
        if (!arg[0] || !arg[1]) return false;
        if (arg[1].user in seen) return false;
        seen[arg[1].user] = 1;
        return true;
      });
      return ret;
    }
  });
  mod.queue = queue;

In foo.js:

module.exports = {
  method_1: function(arg) {
    module.exports.queue.safely('method_1', arg);
  },
};

The arg object should provide callbacks for success and error:

{
  success: function(){ },
  error: function(){ }
}