UNPKG

io-syncify

Version:

跨进程、跨服务器之间通信同步化

42 lines (37 loc) 1.05 kB
import * as IORedis from "ioredis"; import {Message} from "./Message"; import {MessageSender} from "./MessageSender"; /** * Redis消息发送器 */ export class RedisMessageSender implements MessageSender { /** * 消息发布客户端 * @private */ private message_pub_client: IORedis.Redis; /** * 消息发布通道 * @private */ private readonly message_pub_channel: string; /** * * @param {string} message_pub_channel 消息发布通道 * @param {IORedis.RedisOptions} options redis 选项 */ constructor(message_pub_channel: string, options: IORedis.RedisOptions) { this.message_pub_channel = message_pub_channel; this.message_pub_client = new IORedis(options); } /** * 发送消息 * @param {Message} message */ send(message: Message) { this.message_pub_client.publish(this.message_pub_channel, message.toJsonArrayString()) .catch(reason => { console.log(reason); }); } }