redis-smq 6.2.1 → 6.2.4
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/CHANGELOG.md +16 -0
- package/dist/src/monitor-server/services/queues.service.d.ts +3 -3
- package/dist/src/system/app/consumer/consumer-message-handler.js +1 -1
- package/dist/src/system/app/consumer/consumer.js +4 -5
- package/dist/src/system/app/consumer/errors/consumer.error.d.ts +3 -0
- package/dist/src/system/app/consumer/{consumer.error.js → errors/consumer.error.js} +1 -1
- package/dist/src/system/app/consumer/errors/message-handler-already-exists.error.d.ts +5 -0
- package/dist/src/system/app/consumer/errors/message-handler-already-exists.error.js +11 -0
- package/dist/src/system/app/queue-manager/queue-manager-frontend.d.ts +3 -3
- package/dist/src/system/app/queue-manager/queue-manager-frontend.js +6 -3
- package/package.json +2 -2
- package/dist/src/system/app/consumer/consumer.error.d.ts +0 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# CHANGELOG
|
|
2
2
|
|
|
3
|
+
## 6.2.4 (2022-02-23)
|
|
4
|
+
|
|
5
|
+
* Fix consuming-messages/test00015 error (c5c365a)
|
|
6
|
+
|
|
7
|
+
## 6.2.3 (2022-02-23)
|
|
8
|
+
|
|
9
|
+
* Bump up redis-smq-monitor to v6.5.3 (4e845d0)
|
|
10
|
+
* Remove gracefully a message handler (a4402b7)
|
|
11
|
+
* Add MessageHandlerAlreadyExistsError custom error (65882ed)
|
|
12
|
+
|
|
13
|
+
## 6.2.2 (2022-02-21)
|
|
14
|
+
|
|
15
|
+
* Fix a queue rate limiting bug allowing to save invalid Redis keys (1dc91aa)
|
|
16
|
+
* Bump up redis-smq-monitor to v6.5.2 (e192db0)
|
|
17
|
+
* Update docs (5a6469e)
|
|
18
|
+
|
|
3
19
|
## 6.2.1 (2022-02-19)
|
|
4
20
|
|
|
5
21
|
* Remove unused code (475fa3d)
|
|
@@ -7,9 +7,9 @@ import { SetRateLimitRequestDTO } from '../controllers/api/namespaces/queue/rate
|
|
|
7
7
|
import { ClearRateLimitRequestDTO } from '../controllers/api/namespaces/queue/rate-limiting/clear-rate-limit/clear-rate-limit.request.DTO';
|
|
8
8
|
import { GetRateLimitRequestDTO } from '../controllers/api/namespaces/queue/rate-limiting/get-rate-limit/get-rate-limit.request.DTO';
|
|
9
9
|
declare const queueManagerAsync: {
|
|
10
|
-
clearQueueRateLimitAsync: (queue: TQueueParams) => Promise<void>;
|
|
11
|
-
setQueueRateLimitAsync: (queue: TQueueParams, rateLimit: import("../../../types").TQueueRateLimit) => Promise<void>;
|
|
12
|
-
getQueueRateLimitAsync: (queue: TQueueParams) => Promise<import("../../../types").TQueueRateLimit>;
|
|
10
|
+
clearQueueRateLimitAsync: (queue: string | TQueueParams) => Promise<void>;
|
|
11
|
+
setQueueRateLimitAsync: (queue: string | TQueueParams, rateLimit: import("../../../types").TQueueRateLimit) => Promise<void>;
|
|
12
|
+
getQueueRateLimitAsync: (queue: string | TQueueParams) => Promise<import("../../../types").TQueueRateLimit>;
|
|
13
13
|
deleteQueueAsync: (queue: string | TQueueParams) => Promise<void>;
|
|
14
14
|
getNamespaceQueuesAsync: (ns: string) => Promise<TQueueParams[]>;
|
|
15
15
|
deleteNamespaceAsync: (ns: string) => Promise<void>;
|
|
@@ -5,7 +5,7 @@ const types_1 = require("../../../../types");
|
|
|
5
5
|
const uuid_1 = require("uuid");
|
|
6
6
|
const message_1 = require("../message/message");
|
|
7
7
|
const events_1 = require("../../common/events");
|
|
8
|
-
const consumer_error_1 = require("./consumer.error");
|
|
8
|
+
const consumer_error_1 = require("./errors/consumer.error");
|
|
9
9
|
const redis_keys_1 = require("../../common/redis-keys/redis-keys");
|
|
10
10
|
const events_2 = require("events");
|
|
11
11
|
const power_manager_1 = require("../../common/power-manager/power-manager");
|
|
@@ -14,7 +14,6 @@ const consumer_message_rate_writer_1 = require("./consumer-message-rate-writer")
|
|
|
14
14
|
const base_1 = require("../../common/base");
|
|
15
15
|
const consumer_message_handler_1 = require("./consumer-message-handler");
|
|
16
16
|
const consumer_queues_1 = require("./consumer-queues");
|
|
17
|
-
const generic_error_1 = require("../../common/errors/generic.error");
|
|
18
17
|
const queue_manager_1 = require("../queue-manager/queue-manager");
|
|
19
18
|
const worker_pool_1 = require("../../common/worker/worker-runner/worker-pool");
|
|
20
19
|
const async_1 = require("../../lib/async");
|
|
@@ -25,6 +24,7 @@ const global_dead_lettered_time_series_1 = require("./consumer-time-series/globa
|
|
|
25
24
|
const queue_dead_lettered_time_series_1 = require("./consumer-time-series/queue-dead-lettered-time-series");
|
|
26
25
|
const consumer_acknowledged_time_series_1 = require("./consumer-time-series/consumer-acknowledged-time-series");
|
|
27
26
|
const consumer_dead_lettered_time_series_1 = require("./consumer-time-series/consumer-dead-lettered-time-series");
|
|
27
|
+
const message_handler_already_exists_error_1 = require("./errors/message-handler-already-exists.error");
|
|
28
28
|
class Consumer extends base_1.Base {
|
|
29
29
|
constructor() {
|
|
30
30
|
super();
|
|
@@ -194,7 +194,7 @@ class Consumer extends base_1.Base {
|
|
|
194
194
|
};
|
|
195
195
|
const r = this.addMessageHandler(handlerParams, usePriorityQueuing);
|
|
196
196
|
if (!r)
|
|
197
|
-
cb(new
|
|
197
|
+
cb(new message_handler_already_exists_error_1.MessageHandlerAlreadyExistsError(queueParams, usePriorityQueuing));
|
|
198
198
|
else {
|
|
199
199
|
if (this.isRunning())
|
|
200
200
|
this.runMessageHandler(handlerParams, (err) => {
|
|
@@ -210,9 +210,8 @@ class Consumer extends base_1.Base {
|
|
|
210
210
|
cancel(queue, usePriorityQueuing, cb) {
|
|
211
211
|
const queueParams = queue_manager_1.queueManager.getQueueParams(queue);
|
|
212
212
|
const handler = this.getMessageHandler(queueParams, usePriorityQueuing);
|
|
213
|
-
if (!handler)
|
|
214
|
-
cb(
|
|
215
|
-
}
|
|
213
|
+
if (!handler)
|
|
214
|
+
cb();
|
|
216
215
|
else {
|
|
217
216
|
this.removeMessageHandler(queueParams, usePriorityQueuing);
|
|
218
217
|
const handlerInstance = this.getMessageHandlerInstance(queueParams, usePriorityQueuing);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ConsumerError = void 0;
|
|
4
|
-
const redis_smq_error_1 = require("
|
|
4
|
+
const redis_smq_error_1 = require("../../../common/errors/redis-smq.error");
|
|
5
5
|
class ConsumerError extends redis_smq_error_1.RedisSMQError {
|
|
6
6
|
}
|
|
7
7
|
exports.ConsumerError = ConsumerError;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MessageHandlerAlreadyExistsError = void 0;
|
|
4
|
+
const consumer_error_1 = require("./consumer.error");
|
|
5
|
+
class MessageHandlerAlreadyExistsError extends consumer_error_1.ConsumerError {
|
|
6
|
+
constructor(queue, usingPriorityQueuing) {
|
|
7
|
+
super(`A message handler for ${usingPriorityQueuing ? 'priority ' : ''}queue [${JSON.stringify(queue)}] already exists`);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.MessageHandlerAlreadyExistsError = MessageHandlerAlreadyExistsError;
|
|
11
|
+
//# sourceMappingURL=message-handler-already-exists.error.js.map
|
|
@@ -5,9 +5,9 @@ export declare class QueueManagerFrontend {
|
|
|
5
5
|
private redisClient;
|
|
6
6
|
private logger;
|
|
7
7
|
constructor(redisClient: RedisClient);
|
|
8
|
-
clearQueueRateLimit(queue: TQueueParams, cb: ICallback<void>): void;
|
|
9
|
-
setQueueRateLimit(queue: TQueueParams, rateLimit: TQueueRateLimit, cb: ICallback<void>): void;
|
|
10
|
-
getQueueRateLimit(queue: TQueueParams, cb: ICallback<TQueueRateLimit>): void;
|
|
8
|
+
clearQueueRateLimit(queue: string | TQueueParams, cb: ICallback<void>): void;
|
|
9
|
+
setQueueRateLimit(queue: string | TQueueParams, rateLimit: TQueueRateLimit, cb: ICallback<void>): void;
|
|
10
|
+
getQueueRateLimit(queue: string | TQueueParams, cb: ICallback<TQueueRateLimit>): void;
|
|
11
11
|
deleteQueue(queue: string | TQueueParams, cb: ICallback<void>): void;
|
|
12
12
|
getNamespaceQueues(ns: string, cb: ICallback<TQueueParams[]>): void;
|
|
13
13
|
deleteNamespace(ns: string, cb: ICallback<void>): void;
|
|
@@ -12,13 +12,16 @@ class QueueManagerFrontend {
|
|
|
12
12
|
this.logger = (0, logger_1.getNamespacedLogger)('QueueManager');
|
|
13
13
|
}
|
|
14
14
|
clearQueueRateLimit(queue, cb) {
|
|
15
|
-
queue_manager_1.queueManager.
|
|
15
|
+
const queueParams = queue_manager_1.queueManager.getQueueParams(queue);
|
|
16
|
+
queue_manager_1.queueManager.clearQueueRateLimit(this.redisClient, queueParams, cb);
|
|
16
17
|
}
|
|
17
18
|
setQueueRateLimit(queue, rateLimit, cb) {
|
|
18
|
-
queue_manager_1.queueManager.
|
|
19
|
+
const queueParams = queue_manager_1.queueManager.getQueueParams(queue);
|
|
20
|
+
queue_manager_1.queueManager.setQueueRateLimit(this.redisClient, queueParams, rateLimit, cb);
|
|
19
21
|
}
|
|
20
22
|
getQueueRateLimit(queue, cb) {
|
|
21
|
-
queue_manager_1.queueManager.
|
|
23
|
+
const queueParams = queue_manager_1.queueManager.getQueueParams(queue);
|
|
24
|
+
queue_manager_1.queueManager.getQueueRateLimit(this.redisClient, queueParams, cb);
|
|
22
25
|
}
|
|
23
26
|
deleteQueue(queue, cb) {
|
|
24
27
|
const queueParams = queue_manager_1.queueManager.getQueueParams(queue);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "redis-smq",
|
|
3
|
-
"version": "6.2.
|
|
3
|
+
"version": "6.2.4",
|
|
4
4
|
"description": "A simple high-performance Redis message queue for Node.js.",
|
|
5
5
|
"author": "Weyoss <weyoss@protonmail.com>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"koa-bodyparser": "4.3.0",
|
|
50
50
|
"lodash": "4.17.21",
|
|
51
51
|
"redis": "3.1.2",
|
|
52
|
-
"redis-smq-monitor": "6.5.
|
|
52
|
+
"redis-smq-monitor": "6.5.3",
|
|
53
53
|
"reflect-metadata": "0.1.13",
|
|
54
54
|
"socket.io": "4.2.0",
|
|
55
55
|
"stoppable": "1.1.0",
|