21 lines
995 B
TypeScript
21 lines
995 B
TypeScript
import { queueJobsCounter } from "metrics";
|
|
import { SnapshotQueue } from "mq";
|
|
|
|
export const collectQueueMetrics = async () => {
|
|
const counts = await SnapshotQueue.getJobCounts();
|
|
const waiting = counts?.waiting;
|
|
const prioritized = counts?.prioritized;
|
|
const active = counts?.active;
|
|
const completed = counts?.completed;
|
|
const failed = counts?.failed;
|
|
const delayed = counts?.delayed;
|
|
waiting && queueJobsCounter.record(waiting, { queueName: "SnapshotQueue", status: "waiting" });
|
|
prioritized &&
|
|
queueJobsCounter.record(prioritized, { queueName: "SnapshotQueue", status: "prioritized" });
|
|
active && queueJobsCounter.record(active, { queueName: "SnapshotQueue", status: "active" });
|
|
completed &&
|
|
queueJobsCounter.record(completed, { queueName: "SnapshotQueue", status: "completed" });
|
|
failed && queueJobsCounter.record(failed, { queueName: "SnapshotQueue", status: "failed" });
|
|
delayed && queueJobsCounter.record(delayed, { queueName: "SnapshotQueue", status: "delayed" });
|
|
};
|