Skip to content

sithmel/function-bus-redis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

function-bus-redis

An object storing functions by key. These can be then executed grouped by key.

Useful to coordinate execution across different processes.

Uses Redis pub/sub.

var FunctionBus = require('function-bus-redis');
var functionBus = new FunctionBus();

// queue functions by key
functionBus.queue('a', func1);
functionBus.queue('a', func2);
functionBus.queue('b', func3);

// number of functions queued by key
functionBus.len('a'); // 2
functionBus.len('b'); // 1
functionBus.len('c'); // 0

// execute the 2 functions with key "a"
// passing 3 arguments: 1, 2, 3
functionBus.execute('a', [1, 2, 3]);

It works also across different processes connected to the same redis.

Options:

  • serialize [optional]: function used to serialize the values when they are sent to redis
  • deserialize [optional]: function used to deserialize the values when they are received from redis
  • channelPrefix [optional]: the prefix used for redis pub/sub
  • redisConfig [optional]: node-redis configuration
  • pub/sub [optional]: redisClients (2 different!). If they are not passed they are created using redisConfig.

About

Useful to coordinate execution across different processes. Backed by redis

Resources

License

Stars

Watchers

Forks

Packages

No packages published