Files
simple-mail-cleaner/backend/node_modules/bullmq/dist/esm/interfaces/minimal-queue.d.ts
2026-01-22 15:49:12 +01:00

31 lines
1.3 KiB
TypeScript

import { RedisClient } from './connection';
import { Span } from './telemetry';
import { SpanKind } from '../enums/telemetry-attributes';
import { ScriptQueueContext } from './script-queue-context';
export interface MinimalQueue extends ScriptQueueContext {
readonly name: string;
readonly qualifiedName: string;
/**
* Emits an event. Normally used by subclasses to emit events.
*
* @param event - The emitted event.
* @param args -
* @returns
*/
emit(event: string | symbol, ...args: any[]): boolean;
on(event: string | symbol, listener: (...args: any[]) => void): this;
removeListener(event: string | symbol, listener: (...args: any[]) => void): this;
waitUntilReady(): Promise<RedisClient>;
/**
* Wraps the code with telemetry and provides a span for configuration.
*
* @param spanKind - kind of the span: Producer, Consumer, Internal
* @param operation - operation name (such as add, process, etc)
* @param destination - destination name (normally the queue name)
* @param callback - code to wrap with telemetry
* @param srcPropagationMedatada -
* @returns
*/
trace<T>(spanKind: SpanKind, operation: string, destination: string, callback: (span?: Span, dstPropagationMetadata?: string) => Promise<T> | T, srcPropagationMetadata?: string): Promise<T | Promise<T>>;
}