MCPcopy
hub / github.com/chartbrew/chartbrew / setUpQueues

Function setUpQueues

server/setUpQueues.js:37–243  ·  view source on GitHub ↗
(app)

Source from the content-addressed store, hash-verified

35let updateMongoDBSchemaQueue;
36
37const setUpQueues = (app) => {
38 const queuesToClose = [];
39 const workersToClose = [];
40 const queueEventsToClose = [];
41
42 if (isQueueDebugEnabled) {
43 console.log("[setUpQueues] queue debug logging is ENABLED"); // oxlint-disable-line no-console
44 }
45
46 // set up bullmq queues
47
48 /*
49 ** Update Charts Queue
50 */
51 updateChartsQueue = new Queue("updateChartsQueue", getQueueOptions());
52 queuesToClose.push(updateChartsQueue);
53 updateChartsQueue.on("error", (error) => {
54 if (error.code === "ECONNREFUSED") {
55 console.error("Failed to set up the updates queue. Please check if Redis is running: https://docs.chartbrew.com/quickstart#set-up-redis-for-automatic-dataset-updates"); // oxlint-disable-line no-console
56 process.exit(1);
57 }
58 });
59
60 /*
61 ** Update Dashboards Queue
62 */
63 updateDashboardsQueue = new Queue("updateDashboardsQueue", getQueueOptions());
64 queuesToClose.push(updateDashboardsQueue);
65 updateDashboardsQueue.on("error", (error) => {
66 if (error.code === "ECONNREFUSED") {
67 console.error("Failed to set up the updates queue. Please check if Redis is running: https://docs.chartbrew.com/quickstart#set-up-redis-for-automatic-dataset-updates"); // oxlint-disable-line no-console
68 process.exit(1);
69 }
70 });
71
72 const updateDashboardsQueueEvents = new QueueEvents(updateDashboardsQueue.name, {
73 connection: updateDashboardsQueue.opts.connection,
74 });
75 queueEventsToClose.push(updateDashboardsQueueEvents);
76
77 if (isQueueDebugEnabled) {
78 updateDashboardsQueueEvents.on("waiting", (event) => {
79 debugQueueLog(updateDashboardsQueue.name, "waiting", event);
80 });
81 updateDashboardsQueueEvents.on("active", (event) => {
82 debugQueueLog(updateDashboardsQueue.name, "active", event);
83 });
84 updateDashboardsQueueEvents.on("completed", (event) => {
85 debugQueueLog(updateDashboardsQueue.name, "completed", event);
86 });
87 updateDashboardsQueueEvents.on("failed", (event) => {
88 debugQueueLog(updateDashboardsQueue.name, "failed", event);
89 });
90 updateDashboardsQueueEvents.on("stalled", (event) => {
91 debugQueueLog(updateDashboardsQueue.name, "stalled", event);
92 });
93 updateDashboardsQueueEvents.on("deduplicated", (event) => {
94 debugQueueLog(updateDashboardsQueue.name, "deduplicated", event);

Callers 1

index.jsFile · 0.85

Calls 6

getQueueOptionsFunction · 0.85
debugQueueLogFunction · 0.85
updateChartsFunction · 0.85
updateDashboardsFunction · 0.85
closeQueuesAndWorkersFunction · 0.85
onMethod · 0.80

Tested by

no test coverage detected