UNPKG

redis-smq

Version:

A high-performance, reliable, and scalable message queue for Node.js.

34 lines 1.67 kB
import { QueueMessagesAbstract } from './queue-messages-abstract.js'; import { async, CallbackEmptyReplyError } from 'redis-smq-common'; import { _parseQueueParams } from '../queue-manager/_/_parse-queue-params.js'; import { withSharedPoolConnection } from '../common/redis/redis-connection-pool/with-shared-pool-connection.js'; import { _getQueueProperties } from '../queue-manager/_/_get-queue-properties.js'; import { EQueueMessageType, } from './types/index.js'; export class QueuePublishedMessages extends QueueMessagesAbstract { messageType = EQueueMessageType.PUBLISHED; countMessagesByStatus(queue, cb) { return async.withOptionalCallback(cb, (callback) => { const queueParams = _parseQueueParams(queue); if (queueParams instanceof Error) { return callback(queueParams); } withSharedPoolConnection((client, cb) => { _getQueueProperties(client, queueParams, (err, properties) => { if (err) { return cb(err); } if (!properties) { return cb(new CallbackEmptyReplyError()); } return cb(null, { pending: properties.pendingMessagesCount, acknowledged: properties.acknowledgedMessagesCount, scheduled: properties.scheduledMessagesCount, deadLettered: properties.deadLetteredMessagesCount, }); }); }, callback); }); } } //# sourceMappingURL=queue-published-messages.js.map