redis-smq
Version:
A high-performance, reliable, and scalable message queue for Node.js.
33 lines • 1.28 kB
TypeScript
import { EventEmitter, ICallback } from 'redis-smq-common';
import { IRedisSMQParsedConfig } from './types/index.js';
import { TConfigurationEvent } from '../event-bus/index.js';
interface IRedisSMQParsedConfigWithVersion {
version: number;
data: IRedisSMQParsedConfig;
}
export declare class Configuration extends EventEmitter<TConfigurationEvent> {
private static instance;
private static state;
private static initQueue;
private operationLock;
private operationQueue;
private completionWaiters;
private readonly config;
private constructor();
static initialize(cb: ICallback): void;
static getInstance(): Configuration;
static getConfig(): IRedisSMQParsedConfig;
static shutdown(cb: ICallback): void;
getConfig(): IRedisSMQParsedConfigWithVersion;
reload(cb: ICallback<IRedisSMQParsedConfigWithVersion>): void;
save(config: IRedisSMQParsedConfig, cb: ICallback): void;
updateConfigFromEvent(config: IRedisSMQParsedConfig, version: number, cb: ICallback): void;
private static validateInitState;
private static handleInitComplete;
private runExclusive;
private processNext;
private notifyWaiters;
private waitForCompletion;
}
export {};
//# sourceMappingURL=configuration.d.ts.map