redis-smq
Version:
A high-performance, reliable, and scalable message queue for Node.js.
26 lines • 1.84 kB
TypeScript
import { ICallback, ILogger, IRedisClient } from 'redis-smq-common';
import { EBackgroundJobStatus, IBackgroundJob, IBackgroundJobConfig } from './types/index.js';
export declare abstract class BackgroundJobManagerAbstract<Payload, Meta extends Record<string, unknown> = never> {
protected readonly config: IBackgroundJobConfig;
protected readonly redisClient: IRedisClient;
protected readonly logger: ILogger;
protected constructor(redisClient: IRedisClient, config: IBackgroundJobConfig, logger: ILogger);
protected applyPartialUpdate(job: IBackgroundJob<Payload, Meta>, partial: Partial<IBackgroundJob<Payload, Meta>>): IBackgroundJob<Payload, Meta>;
protected update(jobId: string, updates: Partial<IBackgroundJob<Payload, Meta>>, cb: ICallback<void>): void;
protected removeFromProcessing(jobId: string, cb: ICallback<number>): void;
initialize(cb: ICallback<void>): void;
create(payload: Payload, options: Partial<IBackgroundJob<Payload, Meta>> | undefined, cb: ICallback<IBackgroundJob<Payload, Meta>>): void;
get(jobId: string, cb: ICallback<IBackgroundJob<Payload>>): void;
acquireNextJob(cb: ICallback<string | null>): void;
cancel(jobId: string, cb: ICallback<IBackgroundJob<Payload>>): void;
start(jobId: string, workerId: string, cb: ICallback<IBackgroundJob<Payload>>): void;
complete(jobId: string, options: Partial<IBackgroundJob<Payload, Meta>> | undefined, cb: ICallback<IBackgroundJob<Payload, Meta>>): void;
fail(jobId: string, error: string, cb: ICallback<IBackgroundJob<Payload>>): void;
list(filter: {
status?: EBackgroundJobStatus;
target?: string;
limit?: number;
}, cb: ICallback<IBackgroundJob<Payload>[]>): void;
recoverStuckJobs(cb: ICallback): void;
}
//# sourceMappingURL=background-job-manager-abstract.d.ts.map