n8n
Version:
n8n Workflow Automation Tool
26 lines (25 loc) • 1.25 kB
TypeScript
import { type InstanceRegistration } from '@n8n/api-types';
import { Logger } from '@n8n/backend-common';
import { GlobalConfig } from '@n8n/config';
import { RedisClientService } from '../../../services/redis-client.service';
import type { InstanceStorage } from './instance-storage.interface';
export declare class RedisInstanceStorage implements InstanceStorage {
readonly kind: "redis";
private readonly logger;
private readonly redisPrefix;
private readonly redisClient;
constructor(logger: Logger, globalConfig: GlobalConfig, redisClientService: RedisClientService);
register(registration: InstanceRegistration): Promise<void>;
heartbeat(registration: InstanceRegistration): Promise<void>;
unregister(instanceKey: string): Promise<void>;
getAllRegistrations(): Promise<InstanceRegistration[]>;
getRegistration(instanceKey: string): Promise<InstanceRegistration | null>;
getLastKnownState(): Promise<Map<string, InstanceRegistration>>;
saveLastKnownState(state: Map<string, InstanceRegistration>): Promise<void>;
cleanupStaleMembers(): Promise<number>;
destroy(): Promise<void>;
private upsertRegistration;
private instanceKey;
private membershipSetKey;
private stateKey;
}