@zintrust/queue-monitor 2.1.9 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/driver.js +22 -15
- package/dist/index.js +19 -14
- package/package.json +1 -1
package/dist/driver.js
CHANGED
|
@@ -97,30 +97,37 @@ export const createBullMQDriver = (config) => {
|
|
|
97
97
|
};
|
|
98
98
|
const getJobCountsMany = async (queueNames) => {
|
|
99
99
|
const uniqueQueueNames = Array.from(new Set(queueNames.filter((queueName) => typeof queueName === 'string' && queueName.trim().length > 0)));
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
});
|
|
104
|
-
const startedAt = Date.now();
|
|
105
|
-
if (uniqueQueueNames.length === 0) {
|
|
106
|
-
Logger.info('[queue-monitor] getJobCountsMany complete', {
|
|
107
|
-
durationMs: Date.now() - startedAt,
|
|
100
|
+
const QUEUE_MONITOR_LOGGING_ENABLED = Env.getBool('QUEUE_MONITOR_LOGGING_ENABLED', false);
|
|
101
|
+
if (QUEUE_MONITOR_LOGGING_ENABLED) {
|
|
102
|
+
Logger.info('[queue-monitor] getJobCountsMany start', {
|
|
108
103
|
requestedCount: queueNames.length,
|
|
109
104
|
uniqueCount: uniqueQueueNames.length,
|
|
110
|
-
pipelineCount: 0,
|
|
111
105
|
});
|
|
106
|
+
}
|
|
107
|
+
const startedAt = Date.now();
|
|
108
|
+
if (uniqueQueueNames.length === 0) {
|
|
109
|
+
if (QUEUE_MONITOR_LOGGING_ENABLED) {
|
|
110
|
+
Logger.info('[queue-monitor] getJobCountsMany complete', {
|
|
111
|
+
durationMs: Date.now() - startedAt,
|
|
112
|
+
requestedCount: queueNames.length,
|
|
113
|
+
uniqueCount: uniqueQueueNames.length,
|
|
114
|
+
pipelineCount: 0,
|
|
115
|
+
});
|
|
116
|
+
}
|
|
112
117
|
return [];
|
|
113
118
|
}
|
|
114
119
|
const stats = await Promise.all(uniqueQueueNames.map(async (name) => {
|
|
115
120
|
const counts = await getJobCounts(name);
|
|
116
121
|
return { name, counts };
|
|
117
122
|
}));
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
123
|
+
if (QUEUE_MONITOR_LOGGING_ENABLED) {
|
|
124
|
+
Logger.info('[queue-monitor] getJobCountsMany complete', {
|
|
125
|
+
durationMs: Date.now() - startedAt,
|
|
126
|
+
requestedCount: queueNames.length,
|
|
127
|
+
uniqueCount: uniqueQueueNames.length,
|
|
128
|
+
pipelineCount: uniqueQueueNames.length,
|
|
129
|
+
});
|
|
130
|
+
}
|
|
124
131
|
return stats;
|
|
125
132
|
};
|
|
126
133
|
const requeueFromSnapshot = async (queue, snapshot) => {
|
package/dist/index.js
CHANGED
|
@@ -231,14 +231,17 @@ function createGetSnapshot(driver, startedAt, knownQueues) {
|
|
|
231
231
|
const shouldDiscoverQueues = persistedQueues.length === 0;
|
|
232
232
|
const discoveredQueues = shouldDiscoverQueues ? await driver.getQueues() : [];
|
|
233
233
|
const queues = Array.from(new Set([...persistedQueues, ...discoveredQueues])).sort((left, right) => left.localeCompare(right));
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
234
|
+
const QUEUE_MONITOR_LOGGING_ENABLED = Env.getBool('QUEUE_MONITOR_LOGGING_ENABLED', false);
|
|
235
|
+
if (QUEUE_MONITOR_LOGGING_ENABLED) {
|
|
236
|
+
Logger.info('[queue-monitor] snapshot queue list resolved', {
|
|
237
|
+
discoveredCount: discoveredQueues.length,
|
|
238
|
+
persistedCount: persistedQueues.length,
|
|
239
|
+
totalQueues: queues.length,
|
|
240
|
+
usedRedisDiscovery: shouldDiscoverQueues,
|
|
241
|
+
skippedRedisDiscovery: !shouldDiscoverQueues,
|
|
242
|
+
hasBatchCounts: typeof driver.getJobCountsMany === 'function',
|
|
243
|
+
});
|
|
244
|
+
}
|
|
242
245
|
const batchStartedAt = Date.now();
|
|
243
246
|
const stats = typeof driver.getJobCountsMany === 'function'
|
|
244
247
|
? (await driver.getJobCountsMany(queues)).map((item) => ({
|
|
@@ -249,12 +252,14 @@ function createGetSnapshot(driver, startedAt, knownQueues) {
|
|
|
249
252
|
const counts = await driver.getJobCounts(name);
|
|
250
253
|
return { name, counts: counts };
|
|
251
254
|
}));
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
255
|
+
if (QUEUE_MONITOR_LOGGING_ENABLED) {
|
|
256
|
+
Logger.info('[queue-monitor] snapshot queue counts resolved', {
|
|
257
|
+
durationMs: Date.now() - batchStartedAt,
|
|
258
|
+
totalQueues: queues.length,
|
|
259
|
+
returnedQueues: stats.length,
|
|
260
|
+
usedBatchCounts: typeof driver.getJobCountsMany === 'function',
|
|
261
|
+
});
|
|
262
|
+
}
|
|
258
263
|
return {
|
|
259
264
|
status: 'ok',
|
|
260
265
|
startedAt,
|