1.1.0 • Published 1 year ago

lzo-zensky v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

LZO: Zensky

Pub/Sub messaging using Redis.

Sponsor Commitizen friendly TypeScript version Node.js version MIT Build Status - GitHub Actions

DISCLAIMER

By default, for pub/sub, Redis has a soft limit at 8 MB, and a hard limit at 32 MB, per connection buffer. If the output buffer reaches the hard limit, or if it remains between the soft and hard limit for more than 60 seconds, the connection with the slow subscriber will be closed.

Installation

npm install lzo-zensky OR yarn add lzo-zensky

Configuration

Please input the credentials of your Redis server in the .env file.

See the example in the .env.example file.

REDIS_URL="redis://IP:PORT"
REDIS_PORT=6379
REDIS_PASSWORD="PASSWORD"

Usage

import { Zensky } from 'lzo-zensky';

// Node.js process or server
Zensky.subscribe(
  (value) => console.log(typeof value, value), // object, { name: 'John Doe' }
  'testing',
);

// Other Node.js process or server
setTimeout(() => {
  Zensky.publish({ name: 'John Doe' }, 'testing');
});

Attention

Not use same Zensky instance for subscribe and publish in same process.

API

Zensky.publish<T>(value: T | string | Buffer, ...channels: string[]): void

Publishes a message to a channel or multiple channels.

Zensky.subscribe<T>(callback: (message: T | string | Buffer) => void, ...channels: string[]): void

Subscribes to a channel or multiple channels.

Backers & Sponsors

Support this project by becoming a sponsor.

License

Licensed under the MIT. See the LICENSE file for details.