@queuedash/api
Version:
A stunning, sleek dashboard for Bull, BullMQ, and Bee-Queue
75 lines • 1.86 kB
TypeScript
import type Bull from "bull";
import type BullMQ from "bullmq";
import type { Context } from "../trpc";
import type BeeQueue from "bee-queue";
import type { Job as GroupMQJob } from "groupmq";
type QueueDashOptions = {
priority?: number;
delay?: number;
attempts?: number;
backoff?: number;
lifo?: boolean;
timeout?: number;
removeOnComplete?: boolean | number;
removeOnFail?: boolean | number;
stackTraceLimit?: number;
preventParsingData?: boolean;
repeat?: {
offset: number;
tz: string;
pattern: string;
count: number;
};
};
type QueueDashJob = {
id: string;
name: string;
data: object;
opts: QueueDashOptions;
createdAt: Date;
processedAt: Date | null;
finishedAt: Date | null;
failedReason?: string;
stacktrace?: string[];
retriedAt: Date | null;
};
export type QueueDashScheduler = {
key: string;
name: string;
id?: string | null;
iterationCount?: number;
limit?: number;
endDate?: number;
tz?: string;
pattern?: string;
every?: number;
next?: number;
template?: {
data?: Record<string, unknown>;
};
};
export declare const formatJob: ({ job, queueInCtx, }: {
job: Bull.Job | BullMQ.Job | BeeQueue.Job<Record<string, unknown>> | GroupMQJob;
queueInCtx: Context["queues"][0];
}) => QueueDashJob;
export declare const findQueueInCtxOrFail: ({ queueName, queues, }: {
queueName: string;
queues: Context["queues"];
}) => {
displayName: string;
jobName?: (data: Record<string, unknown>) => string;
} & ({
queue: Bull.Queue;
type: "bull";
} | {
queue: BullMQ.Queue;
type: "bullmq";
} | {
queue: BeeQueue;
type: "bee";
} | {
queue: import("groupmq").Queue;
type: "groupmq";
});
export {};
//# sourceMappingURL=global.utils.d.ts.map