MCPcopy
hub / github.com/chartbrew/chartbrew / closeQueuesAndWorkers

Function closeQueuesAndWorkers

server/setUpQueues.js:204–236  ·  view source on GitHub ↗
(signal)

Source from the content-addressed store, hash-verified

202
203 let isShuttingDown = false;
204 const closeQueuesAndWorkers = async (signal) => {
205 if (isShuttingDown) {
206 return;
207 }
208
209 isShuttingDown = true;
210 console.log(`${signal} received. Closing BullMQ workers and queues...`); // eslint-disable-line
211
212 const workerResults = await Promise.allSettled(workersToClose.map((worker) => worker.close()));
213 workerResults
214 .filter((result) => result.status === "rejected")
215 .forEach((result) => {
216 console.error(`Failed to close worker: ${result.reason?.message || result.reason}`); // eslint-disable-line
217 });
218
219 const queueResults = await Promise.allSettled(queuesToClose.map((queue) => queue.close()));
220 queueResults
221 .filter((result) => result.status === "rejected")
222 .forEach((result) => {
223 console.error(`Failed to close queue: ${result.reason?.message || result.reason}`); // eslint-disable-line
224 });
225
226 const queueEventResults = await Promise.allSettled(
227 queueEventsToClose.map((queueEvents) => queueEvents.close())
228 );
229 queueEventResults
230 .filter((result) => result.status === "rejected")
231 .forEach((result) => {
232 console.error(`Failed to close queue events: ${result.reason?.message || result.reason}`); // eslint-disable-line
233 });
234
235 process.exit(0);
236 };
237
238 ["SIGINT", "SIGTERM", "SIGUSR2"].forEach((signal) => {
239 process.on(signal, () => {

Callers 1

setUpQueuesFunction · 0.85

Calls 1

filterMethod · 0.80

Tested by

no test coverage detected