firelease
Version:
Firebase queue consumer for Node with at-least-once semantics
49 lines (48 loc) • 1.49 kB
TypeScript
export type QueueSourceMode = 'full' | 'safe';
export type QueueMode = QueueSourceMode | 'mixed';
export interface LeaseTransactionStats {
acquired: number;
contended: number;
failed: number;
tries: number;
duration: number;
}
export declare class QueueSourceStats {
readonly ref: string;
connected: boolean;
mode: QueueSourceMode;
size: number | null;
sizeDelta?: number;
sizeTimestamp?: number;
healthy: boolean;
latency: number | null;
pingTimestamp?: number;
readonly leaseTransactions: LeaseTransactionStats;
constructor(ref: string);
}
export declare class QueueStats {
readonly ref: string;
readonly key: string | null;
readonly sources: QueueSourceStats[];
tasksAcquired: number;
constructor(ref: string, key: string | null, sources: QueueSourceStats[]);
get mode(): QueueMode;
get size(): number | null;
get sizeDelta(): number | undefined;
get sizeTimestamp(): number | undefined;
get healthy(): boolean;
get maxLatency(): number;
get leaseTransactions(): LeaseTransactionStats;
}
export declare class FireleaseStats {
#private;
readonly queues: QueueStats[];
constructor(getStuckTasks: () => number);
get healthy(): boolean;
get sickQueues(): (string | null)[];
get sickSources(): string[];
get stuckTasks(): number;
get maxLatency(): number;
get leaseTransactions(): LeaseTransactionStats;
get tasksAcquired(): number;
}