@vorsteh-queue/core
Version:
Core queue engine for Vorsteh Queue with TypeScript support, job scheduling, and event system
30 lines (29 loc) • 1.34 kB
TypeScript
import type { BaseJob, JobStatus, QueueStats } from "../../types";
import { BaseQueueAdapter } from "./base";
/**
* In-memory queue adapter for testing and development.
* Stores all job data in memory - data is lost when the process exits.
*
* @example
* ```typescript
* const adapter = new MemoryQueueAdapter()
* const queue = new Queue(adapter, { name: "test-queue" })
* ```
*/
export declare class MemoryQueueAdapter extends BaseQueueAdapter {
private jobs;
private connected;
connect(): Promise<void>;
disconnect(): Promise<void>;
addJob<TJobPayload, TJobResult = unknown>(job: Omit<BaseJob<TJobPayload, TJobResult>, "id" | "createdAt">): Promise<BaseJob<TJobPayload, TJobResult>>;
updateJobStatus(id: string, status: JobStatus, error?: unknown, result?: unknown): Promise<void>;
incrementJobAttempts(id: string): Promise<void>;
updateJobProgress(id: string, progress: number): Promise<void>;
getQueueStats(): Promise<QueueStats>;
clearJobs(status?: JobStatus): Promise<number>;
cleanupJobs(status: JobStatus, keepCount: number): Promise<number>;
size(): Promise<number>;
transaction<TResult>(fn: () => Promise<TResult>): Promise<TResult>;
protected getDelayedJobReady(now: Date): Promise<BaseJob | null>;
protected getPendingJobByPriority(): Promise<BaseJob | null>;
}