New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

rsq

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rsq

Redis stream queue

latest
Source
npmnpm
Version
1.2.2
Version published
Maintainers
1
Created
Source

Nodejs - redis stream queue

Stream queue using redis with driver node_redis

NPM version Downloads

Installation

# Get the latest stable release of rsq
$ npm install rsq
  or
$ yarn install rsq

Usage Example

const Queue = require('rsq')
const queue = new Queue()

// streams working concurently
queue.newTopic('log').newStream('mysql').newStream('otherStream')


// regist handle
queue.registHandle(
  [
    { topic: 'log', stream: 'mysql', type: 'create' },
    // { topic: 'log', stream: ['mysql', 'outherStream'], type: ['create', 'otherType'] },
  ],
  (message, done) => {
    setTimeout(() => {
      console.log('LOG CREATE: ' + JSON.stringify(message))
      done()
    }, 200)
  }
)

queue.registHandle(
  [
    { topic: 'log', stream: 'mysql', type: 'remove' },
  ],
  (message, done) => {
    console.log('LOG REMOVE: ' + JSON.stringify(message))
    done()
  }
)

// listen error
queue.on('error', (err, message) => {
  throw err
})

// push message
for (let i = 0; i < 10; i++) {
  queue.push({
    topic: 'log',
    stream: 'mysql',
    type: (Math.random() < 0.5)? 'create' : 'remove',
    payload: { data: 'something' + i }
  }, (err) => {
    if (err) throw err
  })
}

APIs

const queue = new Queue([name], [config])
const topic = queue.newTopic(name, [config])

topic.newStream(name, [config])
queue.registHandle([{ topic, stream, type }], handle)
queue.push(message, callback)
object.on(event, handle)
object.emit(event, data)

Options object properties

PropertyDefaultDescription
redisClientredis clientClient node redis, default create with redisConfig
redisConfignullDefault options redis client
priority00-timeout, 1-imediate, 2-nextTick
expires2 dayExpires key redis (secends)

see redisConfig node_redis

Keywords

queue

FAQs

Package last updated on 28 Feb 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts