Socket
Socket
Sign inDemoInstall

keuss

Package Overview
Dependencies
Maintainers
1
Versions
76
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

keuss - npm Package Compare versions

Comparing version 1.0.6 to 1.1.0

36

backends/redis-oq.js

@@ -5,3 +5,2 @@ 'use strict';

var _ = require ('lodash');
var uuid = require ('uuid');

@@ -48,12 +47,5 @@ var AsyncQueue = require ('../AsyncQueue');

var self = this;
var pl = {
payload: entry.payload,
tries: entry.tries
};
self._verbose ('insert: %j', entry);
var id = entry.id || uuid.v4();
var mature = entry.mature || Queue.now ();
self._verbose ('insert: id is %s, mature is %s', id, mature);
this._roq.push (id, mature.getTime (), JSON.stringify (pl), function (err, res) {
this._roq.push (entry, function (err, res) {
if (err) {

@@ -63,3 +55,3 @@ return callback (err);

self._verbose ('insert: inserted payload %j', pl, {});
self._verbose ('insert: inserted payload %j', res, {});
callback (null, res);

@@ -80,3 +72,2 @@ });

// res is [id, mature, text]
self._verbose ('get: obtained %j', res, {});

@@ -88,10 +79,4 @@

else {
var pl = JSON.parse (res[2]);
// TODO check res has #2, and parses as json
pl.mature = new Date (parseInt (res[1]));
pl._id = res[0];
self._verbose ('get: final pl to return is %j', pl, {});
callback (null, pl);
self._verbose ('get: final pl to return is %j', res, {});
callback (null, res);
}

@@ -114,3 +99,2 @@ });

// res is [id, mature, text]
self._verbose ('reserve: obtained %j', res, {});

@@ -122,10 +106,4 @@

else {
var pl = JSON.parse (res[2]);
// TODO check res has #2, and parses as json
pl.mature = new Date (parseInt (res[1]));
pl._id = res[0];
self._verbose ('reserve: final pl to return is %j', pl, {});
callback (null, pl);
self._verbose ('reserve: final pl to return is %j', res, {});
callback (null, res);
}

@@ -132,0 +110,0 @@ });

4

package.json
{
"name": "keuss",
"version": "1.0.6",
"keywords": ["queue", "job"],
"version": "1.1.0",
"keywords": ["queue", "job", "mongodb", "redis", "HA"],
"homepage":"https://github.com/pepmartinez/keuss",

@@ -6,0 +6,0 @@ "bugs": {

@@ -79,3 +79,3 @@ # keuss

* *mongo*, a mongodb-based backend that provides te full set of queue features, still with decent performance
* *redis-oq*, backed using an ordered queue on top of redis (made in turn with a sorted set, a hash and some lua). Provides all queue features but reserve-commit-rollback (although this support is planned). Noticeable faster than mongodb
* *redis-oq*, backed using an ordered queue on top of redis (made in turn with a sorted set, a hash and some lua). Provides all queue features including reserve-commit-rollback. Noticeable faster than mongodb
* redis-list, backed using a redis list. Does not offer reserve-commit-rollback nor the ability to schedule, but is much faster than redis-oq

@@ -90,3 +90,3 @@

redis-list | - | -
redis-oq | x | -
redis-oq | x | x
mongo | x | x

@@ -93,0 +93,0 @@

'use strict';
var uuid = require ('uuid');
const _s_lua_code_push = `

@@ -42,3 +45,3 @@ -- qname in KEYS[1]

return { id, z_res[2], val }
return val
`;

@@ -79,3 +82,3 @@

return { id, z_res[2], val }
return val
`;

@@ -133,2 +136,3 @@

obj_val.reserved = false
obj_val.tries = obj_val.tries + 1
redis.call ('HSET', 'keuss:q:ordered_queue:hash:' .. KEYS[1], id, cjson.encode (obj_val))

@@ -149,10 +153,12 @@

//////////////////////////////////
push (id, mature, obj, done) {
push (entry, done) {
//////////////////////////////////
this._rediscl.roq_push (this._name, id, mature, obj, function (err, res) {
if (err) return done (err);
// res is 1
done (null, res);
});
var pl = {
_id: entry.id || uuid.v4(),
payload: entry.payload,
tries: entry.tries,
mature: (entry.mature || new Date ()).getTime ()
};
this._rediscl.roq_push (this._name, pl._id, pl.mature, JSON.stringify (pl), done);
}

@@ -165,5 +171,6 @@

if (err) return done (err);
// res is [id, mature, text]
done (null, res);
if (!res) return done ();
var obj = JSON.parse (res);
obj.mature = obj.mature && new Date (obj.mature);
done (null, obj);
});

@@ -177,5 +184,6 @@ }

if (err) return done (err);
// res is [id, mature, text]
done (null, res);
if (!res) return done ();
var obj = JSON.parse (res);
obj.mature = obj.mature && new Date (obj.mature);
done (null, obj);
});

@@ -187,8 +195,3 @@ }

//////////////////////////////////
this._rediscl.roq_commit (this._name, id, function (err, res) {
if (err) return done (err);
// res is id
done (null, res);
});
this._rediscl.roq_commit (this._name, id, done);
}

@@ -199,8 +202,3 @@

//////////////////////////////////
this._rediscl.roq_rollback (this._name, id, new Date().getTime (), function (err, res) {
if (err) return done (err);
// res is id
done (null, res);
});
this._rediscl.roq_rollback (this._name, id, new Date().getTime (), done);
}

@@ -207,0 +205,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc