redis-smq
Version:
A simple high-performance Redis message queue for Node.js.
23 lines (22 loc) • 1.23 kB
TypeScript
/// <reference types="node" />
import { TConsumerHeartbeat } from '../../../types';
import { RedisClient, Ticker } from 'redis-smq-common';
import { EventEmitter } from 'events';
import { Consumer } from './consumer';
import { ICallback, IRedisClientMulti } from 'redis-smq-common/dist/types';
export declare class ConsumerHeartbeat extends EventEmitter {
protected static readonly heartbeatTTL: number;
protected redisClient: RedisClient;
protected ticker: Ticker;
protected keyHeartbeats: string;
protected keyHeartbeatTimestamps: string;
protected consumer: Consumer;
constructor(consumer: Consumer, redisClient: RedisClient);
protected getPayload(): TConsumerHeartbeat;
protected onTick(): void;
quit(cb: ICallback<void>): void;
protected static isExpiredHeartbeat(heartbeat: TConsumerHeartbeat): boolean;
static getConsumersHeartbeats(redisClient: RedisClient, consumerIds: string[], cb: ICallback<Record<string, TConsumerHeartbeat | false>>): void;
static getExpiredHeartbeatIds(redisClient: RedisClient, offset: number, count: number, cb: ICallback<string[]>): void;
static handleExpiredHeartbeatId(consumerId: string | string[], multi: IRedisClientMulti): void;
}