redis-smq 8.0.0-rc.20 → 8.0.0-rc.21
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 +31 -0
- package/LICENSE +3 -1
- package/README.md +30 -11
- package/dist/cjs/src/lib/consumer/consumer/consumer.js +1 -1
- package/dist/cjs/src/lib/consumer/consumer-heartbeat/consumer-heartbeat.js +2 -2
- package/dist/cjs/src/lib/consumer/errors/index.d.ts +0 -2
- package/dist/cjs/src/lib/consumer/errors/index.js +1 -5
- package/dist/cjs/src/lib/consumer/message-handler/dequeue-message/dequeue-message.js +10 -10
- package/dist/cjs/src/lib/consumer/message-handler/message-handler/message-handler.js +1 -1
- package/dist/cjs/src/lib/consumer/message-handler/multiplexed-message-handler.d.ts +1 -1
- package/dist/cjs/src/lib/consumer/message-handler/processing-queue.js +1 -1
- package/dist/cjs/src/lib/consumer/message-handler-runner/message-handler-runner.d.ts +1 -1
- package/dist/cjs/src/lib/consumer/message-handler-runner/message-handler-runner.js +4 -4
- package/dist/cjs/src/lib/consumer/message-handler-runner/multiplexed-message-handler-runner.d.ts +1 -1
- package/dist/cjs/src/lib/consumer/message-handler-runner/multiplexed-message-handler-runner.js +1 -1
- package/dist/cjs/src/lib/consumer/types/index.d.ts +0 -1
- package/dist/cjs/src/lib/consumer/types/index.js +0 -1
- package/dist/cjs/src/lib/consumer/workers/delay-unacknowledged.worker.js +1 -1
- package/dist/cjs/src/lib/consumer/workers/publish-scheduled.worker.js +1 -1
- package/dist/cjs/src/lib/consumer/workers/requeue-unacknowledged.worker.js +1 -1
- package/dist/cjs/src/lib/consumer/workers/worker.d.ts +1 -1
- package/dist/cjs/src/lib/consumer-groups/_/_save-consumer-group.js +3 -12
- package/dist/cjs/src/lib/consumer-groups/consumer-groups.d.ts +1 -1
- package/dist/cjs/src/lib/consumer-groups/consumer-groups.js +2 -2
- package/dist/cjs/src/lib/exchange/exchange-abstract.js +0 -1
- package/dist/cjs/src/lib/exchange/exchange-direct/_/_get-exchange-direct-transferable.d.ts +1 -1
- package/dist/cjs/src/lib/exchange/exchange-fan-out/exchange-fan-out.js +5 -5
- package/dist/cjs/src/lib/exchange/exchange-topic/exchange-topic.d.ts +1 -1
- package/dist/cjs/src/lib/message/_/_delete-message.js +6 -4
- package/dist/cjs/src/lib/message/_/_get-message.js +1 -1
- package/dist/cjs/src/lib/message/message.js +1 -1
- package/dist/cjs/src/lib/namespace/errors/namespace-not-found.error.d.ts +0 -1
- package/dist/cjs/src/lib/namespace/errors/namespace-not-found.error.js +0 -3
- package/dist/cjs/src/lib/namespace/namespace.js +25 -10
- package/dist/cjs/src/lib/producer/producer.js +2 -2
- package/dist/cjs/src/lib/producer/queue-consumer-groups-cache.js +1 -1
- package/dist/cjs/src/lib/queue/_/_delete-queue.js +1 -1
- package/dist/cjs/src/lib/queue/_/_parse-queue-params.js +1 -1
- package/dist/cjs/src/lib/queue/queue.d.ts +1 -1
- package/dist/cjs/src/lib/queue/queue.js +7 -7
- package/dist/cjs/src/lib/queue-messages/_/_requeue-message.js +2 -2
- package/dist/cjs/src/lib/queue-messages/_/_validate-queue-extended-params.js +1 -1
- package/dist/esm/src/lib/consumer/consumer/consumer.js +1 -1
- package/dist/esm/src/lib/consumer/consumer-heartbeat/consumer-heartbeat.js +1 -1
- package/dist/esm/src/lib/consumer/errors/index.d.ts +0 -2
- package/dist/esm/src/lib/consumer/errors/index.js +0 -2
- package/dist/esm/src/lib/consumer/message-handler/dequeue-message/dequeue-message.js +2 -2
- package/dist/esm/src/lib/consumer/message-handler/message-handler/message-handler.js +1 -1
- package/dist/esm/src/lib/consumer/message-handler/multiplexed-message-handler.d.ts +1 -1
- package/dist/esm/src/lib/consumer/message-handler/processing-queue.js +1 -1
- package/dist/esm/src/lib/consumer/message-handler-runner/message-handler-runner.d.ts +1 -1
- package/dist/esm/src/lib/consumer/message-handler-runner/message-handler-runner.js +1 -1
- package/dist/esm/src/lib/consumer/message-handler-runner/multiplexed-message-handler-runner.d.ts +1 -1
- package/dist/esm/src/lib/consumer/message-handler-runner/multiplexed-message-handler-runner.js +1 -1
- package/dist/esm/src/lib/consumer/types/index.d.ts +0 -1
- package/dist/esm/src/lib/consumer/types/index.js +0 -1
- package/dist/esm/src/lib/consumer/workers/delay-unacknowledged.worker.js +1 -1
- package/dist/esm/src/lib/consumer/workers/publish-scheduled.worker.js +1 -1
- package/dist/esm/src/lib/consumer/workers/requeue-unacknowledged.worker.js +1 -1
- package/dist/esm/src/lib/consumer/workers/worker.d.ts +1 -1
- package/dist/esm/src/lib/consumer-groups/_/_save-consumer-group.js +3 -12
- package/dist/esm/src/lib/consumer-groups/consumer-groups.d.ts +1 -1
- package/dist/esm/src/lib/consumer-groups/consumer-groups.js +1 -1
- package/dist/esm/src/lib/exchange/exchange-abstract.js +0 -1
- package/dist/esm/src/lib/exchange/exchange-direct/_/_get-exchange-direct-transferable.d.ts +1 -1
- package/dist/esm/src/lib/exchange/exchange-fan-out/exchange-fan-out.js +2 -2
- package/dist/esm/src/lib/exchange/exchange-topic/exchange-topic.d.ts +1 -1
- package/dist/esm/src/lib/message/_/_delete-message.js +6 -4
- package/dist/esm/src/lib/message/_/_get-message.js +1 -1
- package/dist/esm/src/lib/message/message.js +1 -1
- package/dist/esm/src/lib/namespace/errors/namespace-not-found.error.d.ts +0 -1
- package/dist/esm/src/lib/namespace/errors/namespace-not-found.error.js +0 -3
- package/dist/esm/src/lib/namespace/namespace.js +25 -10
- package/dist/esm/src/lib/producer/producer.js +2 -2
- package/dist/esm/src/lib/producer/queue-consumer-groups-cache.js +1 -1
- package/dist/esm/src/lib/queue/_/_delete-queue.js +1 -1
- package/dist/esm/src/lib/queue/_/_parse-queue-params.js +1 -1
- package/dist/esm/src/lib/queue/queue.d.ts +1 -1
- package/dist/esm/src/lib/queue/queue.js +1 -1
- package/dist/esm/src/lib/queue-messages/_/_requeue-message.js +2 -2
- package/dist/esm/src/lib/queue-messages/_/_validate-queue-extended-params.js +1 -1
- package/package.json +1 -8
- package/dist/cjs/src/lib/consumer/errors/consumer-group-id-not-found.error.d.ts +0 -5
- package/dist/cjs/src/lib/consumer/errors/consumer-group-id-not-found.error.js +0 -11
- package/dist/cjs/src/lib/consumer/errors/consumer-invalid-group-id.error.d.ts +0 -5
- package/dist/cjs/src/lib/consumer/errors/consumer-invalid-group-id.error.js +0 -11
- package/dist/cjs/src/lib/consumer/types/config.d.ts +0 -4
- package/dist/cjs/src/lib/consumer/types/config.js +0 -3
- package/dist/esm/src/lib/consumer/errors/consumer-group-id-not-found.error.d.ts +0 -5
- package/dist/esm/src/lib/consumer/errors/consumer-group-id-not-found.error.js +0 -7
- package/dist/esm/src/lib/consumer/errors/consumer-invalid-group-id.error.d.ts +0 -5
- package/dist/esm/src/lib/consumer/errors/consumer-invalid-group-id.error.js +0 -7
- package/dist/esm/src/lib/consumer/types/config.d.ts +0 -4
- package/dist/esm/src/lib/consumer/types/config.js +0 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,36 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
+
## [8.0.0-rc.21](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.20...v8.0.0-rc.21) (2024-04-29)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **message:** correct logic for deleting multiple messages by IDs ([fdb39d6](https://github.com/weyoss/redis-smq/commit/fdb39d66f3cea59decf8ad29b5efdf827780ba73))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Documentation
|
|
12
|
+
|
|
13
|
+
* improve RC release status description, clean up ([98910dc](https://github.com/weyoss/redis-smq/commit/98910dcef215494ccee4de01879d0e2f8037213d))
|
|
14
|
+
* update examples ([d80beb2](https://github.com/weyoss/redis-smq/commit/d80beb2af2472ac596a88531786a0ba2681e09dd))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Codebase Refactoring
|
|
18
|
+
|
|
19
|
+
* optimize imports ([29a0efb](https://github.com/weyoss/redis-smq/commit/29a0efb9e46ce23a6fb14c44222cf987a05ee22a))
|
|
20
|
+
* remove unused error classes and clean up ([15bd959](https://github.com/weyoss/redis-smq/commit/15bd9591d58b5717ee5a8e8191df7388e65a768b))
|
|
21
|
+
* shorten imports ([3bfb8f1](https://github.com/weyoss/redis-smq/commit/3bfb8f1e39011e2f48039b2c534f0fe936b67759))
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### Tests
|
|
25
|
+
|
|
26
|
+
* increase code coverage ([e9d84e8](https://github.com/weyoss/redis-smq/commit/e9d84e8b4a9a239246473ca770ce035ce8e66831))
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### Misc
|
|
30
|
+
|
|
31
|
+
* clean up package.json ([ff9ff3d](https://github.com/weyoss/redis-smq/commit/ff9ff3d06f61c20f70bd55c34a545278713847d5))
|
|
32
|
+
* update LICENSE ([cb18d44](https://github.com/weyoss/redis-smq/commit/cb18d4449f851df803a0e2cd84410257cbfcfdfd))
|
|
33
|
+
|
|
3
34
|
## [8.0.0-rc.20](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.19...v8.0.0-rc.20) (2024-03-24)
|
|
4
35
|
|
|
5
36
|
|
package/LICENSE
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) Weyoss <weyoss@protonmail.com>, https://github.com/weyoss
|
|
2
4
|
|
|
3
5
|
Permission is hereby granted, free of charge, to any person obtaining
|
|
4
6
|
a copy of this software and associated documentation files (the
|
package/README.md
CHANGED
|
@@ -3,20 +3,19 @@
|
|
|
3
3
|
> The master branch always reflects the most recent changes. To view the latest release reference see [RedisSMQ v7.2.3](https://github.com/weyoss/redis-smq/tree/v7.2.3)
|
|
4
4
|
|
|
5
5
|
<div align="center" style="text-align: center">
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
<p><a href="https://github.com/weyoss/redis-smq"><img alt="RedisSMQ" src="./logo.png?v=202312182134" /></a></p>
|
|
7
|
+
<p>A simple high-performance Redis message queue for Node.js.</p>
|
|
8
|
+
<p>
|
|
9
|
+
<a href="https://github.com/weyoss/redis-smq/actions/workflows/tests.yml"><img src="https://github.com/weyoss/redis-smq/actions/workflows/tests.yml/badge.svg" alt="Tests" style="max-width:100%;" /></a>
|
|
10
|
+
<a href="https://github.com/weyoss/redis-smq/actions/workflows/codeql.yml" rel="nofollow"><img src="https://github.com/weyoss/redis-smq/actions/workflows/codeql.yml/badge.svg" alt="Code quality" /></a>
|
|
11
|
+
<a href="https://codecov.io/github/weyoss/redis-smq?branch=master" rel="nofollow"><img src="https://img.shields.io/codecov/c/github/weyoss/redis-smq" alt="Coverage Status" /></a>
|
|
12
|
+
<a href="https://npmjs.org/package/redis-smq" rel="nofollow"><img src="https://img.shields.io/npm/v/redis-smq.svg" alt="NPM version" /></a>
|
|
13
|
+
<a href="https://npmjs.org/package/redis-smq" rel="nofollow"><img src="https://img.shields.io/npm/dm/redis-smq.svg" alt="NPM downloads" /></a>
|
|
14
|
+
</p>
|
|
8
15
|
</div>
|
|
9
16
|
|
|
10
17
|
# RedisSMQ
|
|
11
18
|
|
|
12
|
-
<p>
|
|
13
|
-
<a href="https://github.com/weyoss/redis-smq/actions/workflows/tests.yml"><img src="https://github.com/weyoss/redis-smq/actions/workflows/tests.yml/badge.svg" alt="Tests" style="max-width:100%;" /></a>
|
|
14
|
-
<a href="https://github.com/weyoss/redis-smq/actions/workflows/codeql.yml" rel="nofollow"><img src="https://github.com/weyoss/redis-smq/actions/workflows/codeql.yml/badge.svg" alt="Code quality" /></a>
|
|
15
|
-
<a href="https://codecov.io/github/weyoss/redis-smq?branch=master" rel="nofollow"><img src="https://img.shields.io/codecov/c/github/weyoss/redis-smq" alt="Coverage Status" /></a>
|
|
16
|
-
<a href="https://npmjs.org/package/redis-smq" rel="nofollow"><img src="https://img.shields.io/npm/v/redis-smq.svg" alt="NPM version" /></a>
|
|
17
|
-
<a href="https://npmjs.org/package/redis-smq" rel="nofollow"><img src="https://img.shields.io/npm/dm/redis-smq.svg" alt="NPM downloads" /></a>
|
|
18
|
-
</p>
|
|
19
|
-
|
|
20
19
|
RedisSMQ is a Node.js library for queuing messages (aka jobs) and processing them asynchronously with consumers. Backed by Redis, it allows scaling up your typical applications with ease of use.
|
|
21
20
|
|
|
22
21
|
## Features
|
|
@@ -43,7 +42,27 @@ RedisSMQ is a Node.js library for queuing messages (aka jobs) and processing the
|
|
|
43
42
|
|
|
44
43
|
## What's new?
|
|
45
44
|
|
|
46
|
-
:rocket: RedisSMQ v8
|
|
45
|
+
:rocket: RC's are now available for RedisSMQ v8! The v8 release will bring major improvements and new features. Some of them are:
|
|
46
|
+
|
|
47
|
+
- [x] Message queue codebase refactoring and optimizations.
|
|
48
|
+
- [x] Message storage and handling improvements.
|
|
49
|
+
- [x] Message status which allows to retrieve, at any time, the status of a message by its ID.
|
|
50
|
+
- [x] [Pub/Sub Delivery Model and Consumer Groups](docs/queue-delivery-models.md#pubsub-delivery-model).
|
|
51
|
+
- [x] Message handlers sandboxing and message processing performance improvement with [Message Handler Worker Threads](docs/message-handler-worker-threads.md).
|
|
52
|
+
- [x] Cross-system event propagation based on [EventBus](docs/event-bus.md).
|
|
53
|
+
- [x] Better error handling aiming at reporting fatal errors to the application whenever it is possible and without crashing the main process.
|
|
54
|
+
- [x] [ESM Modules Support](docs/esm-cjs-modules.md).
|
|
55
|
+
|
|
56
|
+
Current RedisSMQ v8 RC status:
|
|
57
|
+
|
|
58
|
+
- [x] RedisSMQ Common Library
|
|
59
|
+
- [x] RedisSMQ
|
|
60
|
+
- [ ] HTTP API (WIP)
|
|
61
|
+
- [ ] Web UI (WIP)
|
|
62
|
+
|
|
63
|
+
If you wish to get the latest updates early feel free to try RedisSMQ v8 RC. Do not hesitate to report any bug or issue if encountered.
|
|
64
|
+
|
|
65
|
+
Otherwise, stay with [RedisSMQ v7](https://github.com/weyoss/redis-smq/tree/v7.2.3) if you are looking for a fully working release with an HTTP API and a Web UI.
|
|
47
66
|
|
|
48
67
|
## Installation
|
|
49
68
|
|
|
@@ -12,10 +12,10 @@ const index_js_1 = require("../../../config/index.js");
|
|
|
12
12
|
const event_bus_redis_factory_js_1 = require("../../event-bus/event-bus-redis-factory.js");
|
|
13
13
|
const _parse_queue_extended_params_js_1 = require("../../queue/_/_parse-queue-extended-params.js");
|
|
14
14
|
const _cleanup_offline_consumer_js_1 = require("../consumer-heartbeat/_/_cleanup-offline-consumer.js");
|
|
15
|
-
const event_bus_publisher_js_1 = require("./event-bus-publisher.js");
|
|
16
15
|
const consumer_heartbeat_js_1 = require("../consumer-heartbeat/consumer-heartbeat.js");
|
|
17
16
|
const message_handler_runner_js_1 = require("../message-handler-runner/message-handler-runner.js");
|
|
18
17
|
const multiplexed_message_handler_runner_js_1 = require("../message-handler-runner/multiplexed-message-handler-runner.js");
|
|
18
|
+
const event_bus_publisher_js_1 = require("./event-bus-publisher.js");
|
|
19
19
|
class Consumer extends redis_smq_common_1.Runnable {
|
|
20
20
|
constructor(enableMultiplexing) {
|
|
21
21
|
super();
|
|
@@ -28,7 +28,7 @@ const os = __importStar(require("os"));
|
|
|
28
28
|
const redis_smq_common_1 = require("redis-smq-common");
|
|
29
29
|
const redis_client_factory_js_1 = require("../../../common/redis-client/redis-client-factory.js");
|
|
30
30
|
const redis_keys_js_1 = require("../../../common/redis-keys/redis-keys.js");
|
|
31
|
-
const
|
|
31
|
+
const index_js_1 = require("../../../config/index.js");
|
|
32
32
|
const event_bus_redis_factory_js_1 = require("../../event-bus/event-bus-redis-factory.js");
|
|
33
33
|
const event_bus_publisher_js_1 = require("./event-bus-publisher.js");
|
|
34
34
|
const cpuUsageStatsRef = {
|
|
@@ -58,7 +58,7 @@ class ConsumerHeartbeat extends redis_smq_common_1.Runnable {
|
|
|
58
58
|
this.consumer = consumer;
|
|
59
59
|
this.logger = logger;
|
|
60
60
|
this.redisClient = (0, redis_client_factory_js_1.RedisClientFactory)(consumer.getId(), (err) => this.handleError(err));
|
|
61
|
-
if (
|
|
61
|
+
if (index_js_1.Configuration.getSetConfig().eventBus.enabled) {
|
|
62
62
|
this.eventBus = (0, event_bus_redis_factory_js_1.EventBusRedisFactory)(consumer.getId(), (err) => this.handleError(err));
|
|
63
63
|
(0, event_bus_publisher_js_1.eventBusPublisher)(this, this.consumer.getId(), this.logger);
|
|
64
64
|
}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
export { ConsumerError } from './consumer.error.js';
|
|
2
2
|
export { ConsumerMessageHandlerAlreadyExistsError } from './consumer-message-handler-already-exists.error.js';
|
|
3
3
|
export { ConsumerGroupDeleteError } from './consumer-group-delete.error.js';
|
|
4
|
-
export { ConsumerGroupIdNotFoundError } from './consumer-group-id-not-found.error.js';
|
|
5
4
|
export { ConsumerGroupIdNotSupportedError } from './consumer-group-id-not-supported.error.js';
|
|
6
5
|
export { ConsumerGroupIdRequiredError } from './consumer-group-id-required.error.js';
|
|
7
|
-
export { ConsumerInvalidGroupIdError } from './consumer-invalid-group-id.error.js';
|
|
8
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.ConsumerGroupIdRequiredError = exports.ConsumerGroupIdNotSupportedError = exports.ConsumerGroupDeleteError = exports.ConsumerMessageHandlerAlreadyExistsError = exports.ConsumerError = void 0;
|
|
4
4
|
var consumer_error_js_1 = require("./consumer.error.js");
|
|
5
5
|
Object.defineProperty(exports, "ConsumerError", { enumerable: true, get: function () { return consumer_error_js_1.ConsumerError; } });
|
|
6
6
|
var consumer_message_handler_already_exists_error_js_1 = require("./consumer-message-handler-already-exists.error.js");
|
|
7
7
|
Object.defineProperty(exports, "ConsumerMessageHandlerAlreadyExistsError", { enumerable: true, get: function () { return consumer_message_handler_already_exists_error_js_1.ConsumerMessageHandlerAlreadyExistsError; } });
|
|
8
8
|
var consumer_group_delete_error_js_1 = require("./consumer-group-delete.error.js");
|
|
9
9
|
Object.defineProperty(exports, "ConsumerGroupDeleteError", { enumerable: true, get: function () { return consumer_group_delete_error_js_1.ConsumerGroupDeleteError; } });
|
|
10
|
-
var consumer_group_id_not_found_error_js_1 = require("./consumer-group-id-not-found.error.js");
|
|
11
|
-
Object.defineProperty(exports, "ConsumerGroupIdNotFoundError", { enumerable: true, get: function () { return consumer_group_id_not_found_error_js_1.ConsumerGroupIdNotFoundError; } });
|
|
12
10
|
var consumer_group_id_not_supported_error_js_1 = require("./consumer-group-id-not-supported.error.js");
|
|
13
11
|
Object.defineProperty(exports, "ConsumerGroupIdNotSupportedError", { enumerable: true, get: function () { return consumer_group_id_not_supported_error_js_1.ConsumerGroupIdNotSupportedError; } });
|
|
14
12
|
var consumer_group_id_required_error_js_1 = require("./consumer-group-id-required.error.js");
|
|
15
13
|
Object.defineProperty(exports, "ConsumerGroupIdRequiredError", { enumerable: true, get: function () { return consumer_group_id_required_error_js_1.ConsumerGroupIdRequiredError; } });
|
|
16
|
-
var consumer_invalid_group_id_error_js_1 = require("./consumer-invalid-group-id.error.js");
|
|
17
|
-
Object.defineProperty(exports, "ConsumerInvalidGroupIdError", { enumerable: true, get: function () { return consumer_invalid_group_id_error_js_1.ConsumerInvalidGroupIdError; } });
|
|
18
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -28,13 +28,13 @@ const os = __importStar(require("os"));
|
|
|
28
28
|
const redis_smq_common_1 = require("redis-smq-common");
|
|
29
29
|
const scripts_js_1 = require("../../../../common/redis-client/scripts/scripts.js");
|
|
30
30
|
const redis_keys_js_1 = require("../../../../common/redis-keys/redis-keys.js");
|
|
31
|
-
const
|
|
31
|
+
const index_js_1 = require("../../../../config/index.js");
|
|
32
32
|
const _save_consumer_group_js_1 = require("../../../consumer-groups/_/_save-consumer-group.js");
|
|
33
33
|
const event_bus_redis_factory_js_1 = require("../../../event-bus/event-bus-redis-factory.js");
|
|
34
|
-
const index_js_1 = require("../../../queue/index.js");
|
|
35
34
|
const _has_rate_limit_exceeded_js_1 = require("../../../queue-rate-limit/_/_has-rate-limit-exceeded.js");
|
|
36
35
|
const _get_queue_properties_js_1 = require("../../../queue/_/_get-queue-properties.js");
|
|
37
|
-
const index_js_2 = require("
|
|
36
|
+
const index_js_2 = require("../../../queue/index.js");
|
|
37
|
+
const index_js_3 = require("../../errors/index.js");
|
|
38
38
|
const event_bus_publisher_js_1 = require("./event-bus-publisher.js");
|
|
39
39
|
const IPAddresses = (() => {
|
|
40
40
|
var _a;
|
|
@@ -118,7 +118,7 @@ class DequeueMessage extends redis_smq_common_1.Runnable {
|
|
|
118
118
|
this.redisClient = redisClient;
|
|
119
119
|
this.redisClient.on('error', (err) => this.handleError(err));
|
|
120
120
|
this.eventBus = (0, event_bus_redis_factory_js_1.EventBusRedisFactory)(this.consumerId, (err) => this.handleError(err));
|
|
121
|
-
if (
|
|
121
|
+
if (index_js_1.Configuration.getSetConfig().eventBus.enabled) {
|
|
122
122
|
(0, event_bus_publisher_js_1.eventBusPublisher)(this, consumerId, logger);
|
|
123
123
|
}
|
|
124
124
|
const { keyConsumerQueues } = redis_keys_js_1.redisKeys.getConsumerKeys(this.consumerId);
|
|
@@ -175,7 +175,7 @@ class DequeueMessage extends redis_smq_common_1.Runnable {
|
|
|
175
175
|
if (err)
|
|
176
176
|
cb(err);
|
|
177
177
|
else if (!reply)
|
|
178
|
-
cb(new
|
|
178
|
+
cb(new index_js_2.QueueNotFoundError());
|
|
179
179
|
else
|
|
180
180
|
cb();
|
|
181
181
|
});
|
|
@@ -197,15 +197,15 @@ class DequeueMessage extends redis_smq_common_1.Runnable {
|
|
|
197
197
|
this.queueRateLimit = (_a = queueProperties.rateLimit) !== null && _a !== void 0 ? _a : null;
|
|
198
198
|
const { queueParams, groupId } = this.queue;
|
|
199
199
|
if (queueProperties.deliveryModel ===
|
|
200
|
-
|
|
200
|
+
index_js_2.EQueueDeliveryModel.POINT_TO_POINT) {
|
|
201
201
|
if (groupId)
|
|
202
|
-
cb(new
|
|
202
|
+
cb(new index_js_3.ConsumerGroupIdNotSupportedError());
|
|
203
203
|
else
|
|
204
204
|
cb();
|
|
205
205
|
}
|
|
206
|
-
else if (queueProperties.deliveryModel ===
|
|
206
|
+
else if (queueProperties.deliveryModel === index_js_2.EQueueDeliveryModel.PUB_SUB) {
|
|
207
207
|
if (!groupId)
|
|
208
|
-
cb(new
|
|
208
|
+
cb(new index_js_3.ConsumerGroupIdRequiredError());
|
|
209
209
|
else {
|
|
210
210
|
const eventBus = this.eventBus.getInstance();
|
|
211
211
|
if (eventBus instanceof Error)
|
|
@@ -247,7 +247,7 @@ class DequeueMessage extends redis_smq_common_1.Runnable {
|
|
|
247
247
|
return this.idleTrigger >= this.idleThreshold;
|
|
248
248
|
}
|
|
249
249
|
isPriorityQueuingEnabled() {
|
|
250
|
-
return this.queueType ===
|
|
250
|
+
return this.queueType === index_js_2.EQueueType.PRIORITY_QUEUE;
|
|
251
251
|
}
|
|
252
252
|
dequeue() {
|
|
253
253
|
if (this.isRunning()) {
|
|
@@ -7,8 +7,8 @@ const redis_client_instance_js_1 = require("../../../../common/redis-client/redi
|
|
|
7
7
|
const scripts_js_1 = require("../../../../common/redis-client/scripts/scripts.js");
|
|
8
8
|
const redis_keys_js_1 = require("../../../../common/redis-keys/redis-keys.js");
|
|
9
9
|
const index_js_1 = require("../../../../config/index.js");
|
|
10
|
-
const index_js_2 = require("../../../message/index.js");
|
|
11
10
|
const _from_message_js_1 = require("../../../message/_/_from-message.js");
|
|
11
|
+
const index_js_2 = require("../../../message/index.js");
|
|
12
12
|
const index_js_3 = require("../../types/index.js");
|
|
13
13
|
const consume_message_js_1 = require("../consume-message/consume-message.js");
|
|
14
14
|
const dequeue_message_js_1 = require("../dequeue-message/dequeue-message.js");
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ILogger } from 'redis-smq-common';
|
|
2
2
|
import { Consumer } from '../consumer/consumer.js';
|
|
3
|
+
import { IConsumerMessageHandlerArgs } from '../types/index.js';
|
|
3
4
|
import { DequeueMessage } from './dequeue-message/dequeue-message.js';
|
|
4
5
|
import { MessageHandler } from './message-handler/message-handler.js';
|
|
5
|
-
import { IConsumerMessageHandlerArgs } from '../types/index.js';
|
|
6
6
|
export declare class MultiplexedMessageHandler extends MessageHandler {
|
|
7
7
|
protected dequeueNextFn: () => void;
|
|
8
8
|
constructor(consumer: Consumer, handlerParams: IConsumerMessageHandlerArgs, logger: ILogger, dequeueNextFn: () => void);
|
|
@@ -5,8 +5,8 @@ const redis_smq_common_1 = require("redis-smq-common");
|
|
|
5
5
|
const scripts_js_1 = require("../../../common/redis-client/scripts/scripts.js");
|
|
6
6
|
const redis_keys_js_1 = require("../../../common/redis-keys/redis-keys.js");
|
|
7
7
|
const index_js_1 = require("../../../config/index.js");
|
|
8
|
-
const index_js_2 = require("../../message/index.js");
|
|
9
8
|
const _get_message_js_1 = require("../../message/_/_get-message.js");
|
|
9
|
+
const index_js_2 = require("../../message/index.js");
|
|
10
10
|
const consumer_queues_js_1 = require("../consumer-queues.js");
|
|
11
11
|
const index_js_3 = require("../errors/index.js");
|
|
12
12
|
const index_js_4 = require("../types/index.js");
|
|
@@ -2,8 +2,8 @@ import { ICallback, ILogger, Runnable } from 'redis-smq-common';
|
|
|
2
2
|
import { TConsumerMessageHandlerRunnerEvent } from '../../../common/index.js';
|
|
3
3
|
import { IQueueParsedParams } from '../../queue/index.js';
|
|
4
4
|
import { Consumer } from '../consumer/consumer.js';
|
|
5
|
-
import { IConsumerMessageHandlerArgs, TConsumerMessageHandler } from '../types/index.js';
|
|
6
5
|
import { MessageHandler } from '../message-handler/message-handler/message-handler.js';
|
|
6
|
+
import { IConsumerMessageHandlerArgs, TConsumerMessageHandler } from '../types/index.js';
|
|
7
7
|
export declare class MessageHandlerRunner extends Runnable<TConsumerMessageHandlerRunnerEvent> {
|
|
8
8
|
protected consumer: Consumer;
|
|
9
9
|
protected logger: ILogger;
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MessageHandlerRunner = void 0;
|
|
4
4
|
const redis_smq_common_1 = require("redis-smq-common");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
5
|
+
const index_js_1 = require("../../../config/index.js");
|
|
6
|
+
const index_js_2 = require("../errors/index.js");
|
|
7
7
|
const message_handler_js_1 = require("../message-handler/message-handler/message-handler.js");
|
|
8
8
|
const event_bus_publisher_js_1 = require("./event-bus-publisher.js");
|
|
9
9
|
class MessageHandlerRunner extends redis_smq_common_1.Runnable {
|
|
@@ -26,7 +26,7 @@ class MessageHandlerRunner extends redis_smq_common_1.Runnable {
|
|
|
26
26
|
};
|
|
27
27
|
this.consumer = consumer;
|
|
28
28
|
this.logger = logger;
|
|
29
|
-
if (
|
|
29
|
+
if (index_js_1.Configuration.getSetConfig().eventBus.enabled) {
|
|
30
30
|
(0, event_bus_publisher_js_1.eventBusPublisher)(this, this.consumer.getId(), logger);
|
|
31
31
|
}
|
|
32
32
|
}
|
|
@@ -116,7 +116,7 @@ class MessageHandlerRunner extends redis_smq_common_1.Runnable {
|
|
|
116
116
|
addMessageHandler(queue, messageHandler, cb) {
|
|
117
117
|
const handler = this.getMessageHandler(queue);
|
|
118
118
|
if (handler)
|
|
119
|
-
cb(new
|
|
119
|
+
cb(new index_js_2.ConsumerMessageHandlerAlreadyExistsError(queue));
|
|
120
120
|
else {
|
|
121
121
|
const handlerParams = {
|
|
122
122
|
queue,
|
package/dist/cjs/src/lib/consumer/message-handler-runner/multiplexed-message-handler-runner.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ICallback, ILogger, Timer } from 'redis-smq-common';
|
|
2
2
|
import { Consumer } from '../consumer/consumer.js';
|
|
3
3
|
import { MessageHandler } from '../message-handler/message-handler/message-handler.js';
|
|
4
|
-
import { MessageHandlerRunner } from './message-handler-runner.js';
|
|
5
4
|
import { IConsumerMessageHandlerArgs } from '../types/index.js';
|
|
5
|
+
import { MessageHandlerRunner } from './message-handler-runner.js';
|
|
6
6
|
export declare class MultiplexedMessageHandlerRunner extends MessageHandlerRunner {
|
|
7
7
|
protected timer: Timer;
|
|
8
8
|
protected index: number;
|
package/dist/cjs/src/lib/consumer/message-handler-runner/multiplexed-message-handler-runner.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MultiplexedMessageHandlerRunner = void 0;
|
|
4
4
|
const redis_smq_common_1 = require("redis-smq-common");
|
|
5
|
-
const message_handler_runner_js_1 = require("./message-handler-runner.js");
|
|
6
5
|
const multiplexed_message_handler_js_1 = require("../message-handler/multiplexed-message-handler.js");
|
|
6
|
+
const message_handler_runner_js_1 = require("./message-handler-runner.js");
|
|
7
7
|
class MultiplexedMessageHandlerRunner extends message_handler_runner_js_1.MessageHandlerRunner {
|
|
8
8
|
constructor(consumer, logger) {
|
|
9
9
|
super(consumer, logger);
|
|
@@ -17,5 +17,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./message-handler.js"), exports);
|
|
18
18
|
__exportStar(require("./consumer-heartbeat.js"), exports);
|
|
19
19
|
__exportStar(require("./consume-message.js"), exports);
|
|
20
|
-
__exportStar(require("./config.js"), exports);
|
|
21
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const redis_smq_common_1 = require("redis-smq-common");
|
|
4
4
|
const scripts_js_1 = require("../../../common/redis-client/scripts/scripts.js");
|
|
5
5
|
const redis_keys_js_1 = require("../../../common/redis-keys/redis-keys.js");
|
|
6
|
-
const index_js_1 = require("../../message/index.js");
|
|
7
6
|
const _get_message_js_1 = require("../../message/_/_get-message.js");
|
|
7
|
+
const index_js_1 = require("../../message/index.js");
|
|
8
8
|
const index_js_2 = require("../../queue/index.js");
|
|
9
9
|
const worker_js_1 = require("./worker.js");
|
|
10
10
|
class DelayUnacknowledgedWorker extends worker_js_1.Worker {
|
|
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const redis_smq_common_1 = require("redis-smq-common");
|
|
4
4
|
const scripts_js_1 = require("../../../common/redis-client/scripts/scripts.js");
|
|
5
5
|
const redis_keys_js_1 = require("../../../common/redis-keys/redis-keys.js");
|
|
6
|
-
const index_js_1 = require("../../message/index.js");
|
|
7
6
|
const _from_message_js_1 = require("../../message/_/_from-message.js");
|
|
8
7
|
const _get_message_js_1 = require("../../message/_/_get-message.js");
|
|
8
|
+
const index_js_1 = require("../../message/index.js");
|
|
9
9
|
const index_js_2 = require("../../queue/index.js");
|
|
10
10
|
const worker_js_1 = require("./worker.js");
|
|
11
11
|
class PublishScheduledWorker extends worker_js_1.Worker {
|
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const redis_smq_common_1 = require("redis-smq-common");
|
|
4
4
|
const scripts_js_1 = require("../../../common/redis-client/scripts/scripts.js");
|
|
5
5
|
const redis_keys_js_1 = require("../../../common/redis-keys/redis-keys.js");
|
|
6
|
-
const index_js_1 = require("../../message/index.js");
|
|
7
6
|
const _get_message_js_1 = require("../../message/_/_get-message.js");
|
|
7
|
+
const index_js_1 = require("../../message/index.js");
|
|
8
8
|
const index_js_2 = require("../../queue/index.js");
|
|
9
9
|
const worker_js_1 = require("./worker.js");
|
|
10
10
|
class RequeueUnacknowledgedWorker extends worker_js_1.Worker {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ICallback, ILogger, Runnable } from 'redis-smq-common';
|
|
2
2
|
import { RedisClientInstance } from '../../../common/redis-client/redis-client-instance.js';
|
|
3
|
-
import { IRedisSMQConfigRequired } from '../../../config/
|
|
3
|
+
import { IRedisSMQConfigRequired } from '../../../config/index.js';
|
|
4
4
|
export declare abstract class Worker extends Runnable<Record<string, never>> {
|
|
5
5
|
protected redisClient: RedisClientInstance;
|
|
6
6
|
protected logger: ILogger;
|
|
@@ -2,19 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports._saveConsumerGroup = void 0;
|
|
4
4
|
const redis_keys_js_1 = require("../../../common/redis-keys/redis-keys.js");
|
|
5
|
-
const index_js_1 = require("../../consumer/index.js");
|
|
6
|
-
function validateGroupId(groupId) {
|
|
7
|
-
const lowerCase = groupId.toLowerCase();
|
|
8
|
-
const filtered = lowerCase.replace(/(?:[a-z][a-z0-9]?)+(?:[-_]?[a-z0-9])*/, '');
|
|
9
|
-
if (filtered.length) {
|
|
10
|
-
return false;
|
|
11
|
-
}
|
|
12
|
-
return lowerCase;
|
|
13
|
-
}
|
|
14
5
|
function _saveConsumerGroup(redisClient, eventBus, queue, groupId, cb) {
|
|
15
|
-
const gid =
|
|
16
|
-
if (
|
|
17
|
-
cb(
|
|
6
|
+
const gid = redis_keys_js_1.redisKeys.validateRedisKey(groupId);
|
|
7
|
+
if (gid instanceof Error)
|
|
8
|
+
cb(gid);
|
|
18
9
|
else {
|
|
19
10
|
const { keyQueueConsumerGroups } = redis_keys_js_1.redisKeys.getQueueKeys(queue, gid);
|
|
20
11
|
redisClient.sadd(keyQueueConsumerGroups, gid, (err, reply) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ICallback } from 'redis-smq-common';
|
|
2
2
|
import { RedisClientInstance } from '../../common/redis-client/redis-client-instance.js';
|
|
3
|
-
import { EventBusRedisInstance } from '../event-bus/
|
|
3
|
+
import { EventBusRedisInstance } from '../event-bus/index.js';
|
|
4
4
|
import { IQueueParams } from '../queue/index.js';
|
|
5
5
|
export declare class ConsumerGroups {
|
|
6
6
|
protected redisClient: RedisClientInstance;
|
|
@@ -4,7 +4,7 @@ exports.ConsumerGroups = void 0;
|
|
|
4
4
|
const redis_smq_common_1 = require("redis-smq-common");
|
|
5
5
|
const redis_client_instance_js_1 = require("../../common/redis-client/redis-client-instance.js");
|
|
6
6
|
const index_js_1 = require("../../config/index.js");
|
|
7
|
-
const
|
|
7
|
+
const index_js_2 = require("../event-bus/index.js");
|
|
8
8
|
const _parse_queue_params_js_1 = require("../queue/_/_parse-queue-params.js");
|
|
9
9
|
const _delete_consumer_group_js_1 = require("./_/_delete-consumer-group.js");
|
|
10
10
|
const _get_consumer_groups_js_1 = require("./_/_get-consumer-groups.js");
|
|
@@ -15,7 +15,7 @@ class ConsumerGroups {
|
|
|
15
15
|
redis_smq_common_1.async.waterfall([this.redisClient.shutdown, this.eventBus.shutdown], cb);
|
|
16
16
|
};
|
|
17
17
|
this.logger = redis_smq_common_1.logger.getLogger(index_js_1.Configuration.getSetConfig().logger, `consumer-groups`);
|
|
18
|
-
this.eventBus = new
|
|
18
|
+
this.eventBus = new index_js_2.EventBusRedisInstance();
|
|
19
19
|
this.eventBus.on('error', (err) => this.logger.error(err));
|
|
20
20
|
this.redisClient = new redis_client_instance_js_1.RedisClientInstance();
|
|
21
21
|
this.redisClient.on('error', (err) => this.logger.error(err));
|
|
@@ -7,7 +7,6 @@ const index_js_1 = require("../../config/index.js");
|
|
|
7
7
|
class ExchangeAbstract {
|
|
8
8
|
constructor() {
|
|
9
9
|
this.shutdown = (cb) => {
|
|
10
|
-
console.log('SSSSSSSSSSSSSSSSSSSSSSSSS');
|
|
11
10
|
this.redisClient.shutdown(cb);
|
|
12
11
|
};
|
|
13
12
|
this.logger = redis_smq_common_1.logger.getLogger(index_js_1.Configuration.getSetConfig().logger, `exchange`);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IQueueParams } from '../../../queue/
|
|
1
|
+
import { IQueueParams } from '../../../queue/index.js';
|
|
2
2
|
import { TExchangeDirectTransferable } from '../../types/exchange.js';
|
|
3
3
|
export declare function _getExchangeDirectTransferable(queue: string | IQueueParams): TExchangeDirectTransferable;
|
|
4
4
|
//# sourceMappingURL=_get-exchange-direct-transferable.d.ts.map
|
|
@@ -6,8 +6,8 @@ const redis_keys_js_1 = require("../../../common/redis-keys/redis-keys.js");
|
|
|
6
6
|
const _get_queue_properties_js_1 = require("../../queue/_/_get-queue-properties.js");
|
|
7
7
|
const _parse_queue_params_js_1 = require("../../queue/_/_parse-queue-params.js");
|
|
8
8
|
const index_js_1 = require("../../queue/index.js");
|
|
9
|
-
const
|
|
10
|
-
const
|
|
9
|
+
const index_js_2 = require("../errors/index.js");
|
|
10
|
+
const index_js_3 = require("../errors/index.js");
|
|
11
11
|
const exchange_abstract_js_1 = require("../exchange-abstract.js");
|
|
12
12
|
const _get_fan_out_exchange_queues_js_1 = require("./_/_get-fan-out-exchange-queues.js");
|
|
13
13
|
const _get_queue_fan_out_exchange_js_1 = require("./_/_get-queue-fan-out-exchange.js");
|
|
@@ -58,7 +58,7 @@ class ExchangeFanOut extends exchange_abstract_js_1.ExchangeAbstract {
|
|
|
58
58
|
if (err)
|
|
59
59
|
cb(err);
|
|
60
60
|
else if (reply.length)
|
|
61
|
-
cb(new
|
|
61
|
+
cb(new index_js_3.ExchangeError(`Exchange has ${reply.length} bound queue(s). Unbind all queues before deleting the exchange.`));
|
|
62
62
|
else {
|
|
63
63
|
const multi = client.multi();
|
|
64
64
|
multi.srem(keyFanOutExchanges, fanOutName);
|
|
@@ -105,7 +105,7 @@ class ExchangeFanOut extends exchange_abstract_js_1.ExchangeAbstract {
|
|
|
105
105
|
cb(new redis_smq_common_1.CallbackEmptyReplyError());
|
|
106
106
|
else if (exchangeQueueProperties.queueType !==
|
|
107
107
|
queueProperties.queueType)
|
|
108
|
-
cb(new
|
|
108
|
+
cb(new index_js_2.ExchangeFanOutError('Binding different types of queues to the same exchange is not allowed.'));
|
|
109
109
|
else
|
|
110
110
|
cb(null, queueProperties);
|
|
111
111
|
});
|
|
@@ -165,7 +165,7 @@ class ExchangeFanOut extends exchange_abstract_js_1.ExchangeAbstract {
|
|
|
165
165
|
else if (!properties)
|
|
166
166
|
cb(new redis_smq_common_1.CallbackEmptyReplyError());
|
|
167
167
|
else if (properties.exchange !== fanOutName)
|
|
168
|
-
cb(new
|
|
168
|
+
cb(new index_js_2.ExchangeFanOutError(`Queue ${queueParams.name}@${queueParams.ns} is not bound to [${fanOutName}] exchange.`));
|
|
169
169
|
else
|
|
170
170
|
cb();
|
|
171
171
|
}),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ICallback } from 'redis-smq-common';
|
|
2
|
-
import { IQueueParams } from '../../queue/
|
|
2
|
+
import { IQueueParams } from '../../queue/index.js';
|
|
3
3
|
import { ExchangeAbstract } from '../exchange-abstract.js';
|
|
4
4
|
import { ITopicParams } from '../types/exchange.js';
|
|
5
5
|
export declare class ExchangeTopic extends ExchangeAbstract<string | ITopicParams> {
|
|
@@ -5,13 +5,16 @@ const redis_smq_common_1 = require("redis-smq-common");
|
|
|
5
5
|
const scripts_js_1 = require("../../../common/redis-client/scripts/scripts.js");
|
|
6
6
|
const redis_keys_js_1 = require("../../../common/redis-keys/redis-keys.js");
|
|
7
7
|
const index_js_1 = require("../../queue/index.js");
|
|
8
|
-
const _get_message_js_1 = require("./_get-message.js");
|
|
9
8
|
const index_js_2 = require("../errors/index.js");
|
|
10
9
|
const index_js_3 = require("../types/index.js");
|
|
10
|
+
const _get_message_js_1 = require("./_get-message.js");
|
|
11
11
|
function _deleteMessage(redisClient, messageId, cb) {
|
|
12
12
|
const keys = [];
|
|
13
13
|
const argv = [];
|
|
14
14
|
const ids = typeof messageId === 'string' ? [messageId] : messageId;
|
|
15
|
+
const { keyScheduledMessages, keyDelayedMessages, keyRequeueMessages } = redis_keys_js_1.redisKeys.getMainKeys();
|
|
16
|
+
keys.push(keyScheduledMessages, keyDelayedMessages, keyRequeueMessages);
|
|
17
|
+
argv.push(index_js_1.EQueueProperty.QUEUE_TYPE, index_js_1.EQueueProperty.MESSAGES_COUNT, index_js_1.EQueueType.PRIORITY_QUEUE, index_js_1.EQueueType.LIFO_QUEUE, index_js_1.EQueueType.FIFO_QUEUE, index_js_3.EMessageProperty.STATUS, index_js_3.EMessagePropertyStatus.PROCESSING, index_js_3.EMessagePropertyStatus.ACKNOWLEDGED, index_js_3.EMessagePropertyStatus.PENDING, index_js_3.EMessagePropertyStatus.SCHEDULED, index_js_3.EMessagePropertyStatus.DEAD_LETTERED, index_js_3.EMessagePropertyStatus.UNACK_DELAYING, index_js_3.EMessagePropertyStatus.UNACK_REQUEUING);
|
|
15
18
|
redis_smq_common_1.async.each(ids, (id, _, done) => {
|
|
16
19
|
(0, _get_message_js_1._getMessage)(redisClient, id, (err, message) => {
|
|
17
20
|
if (err)
|
|
@@ -20,10 +23,9 @@ function _deleteMessage(redisClient, messageId, cb) {
|
|
|
20
23
|
done(new redis_smq_common_1.CallbackEmptyReplyError());
|
|
21
24
|
else {
|
|
22
25
|
const { keyQueueProperties, keyQueueDL, keyQueueScheduled, keyQueueAcknowledged, keyQueuePriorityPending, keyQueuePending, } = redis_keys_js_1.redisKeys.getQueueKeys(message.getDestinationQueue(), message.getConsumerGroupId());
|
|
23
|
-
const { keyScheduledMessages, keyDelayedMessages, keyRequeueMessages, } = redis_keys_js_1.redisKeys.getMainKeys();
|
|
24
26
|
const { keyMessage } = redis_keys_js_1.redisKeys.getMessageKeys(id);
|
|
25
|
-
keys.push(
|
|
26
|
-
argv.push(
|
|
27
|
+
keys.push(keyMessage, keyQueueProperties, keyQueuePending, keyQueueDL, keyQueueAcknowledged, keyQueueScheduled, keyQueuePriorityPending);
|
|
28
|
+
argv.push(id);
|
|
27
29
|
done();
|
|
28
30
|
}
|
|
29
31
|
});
|
|
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports._getMessages = exports._getMessage = void 0;
|
|
4
4
|
const redis_smq_common_1 = require("redis-smq-common");
|
|
5
5
|
const redis_keys_js_1 = require("../../../common/redis-keys/redis-keys.js");
|
|
6
|
-
const _from_message_js_1 = require("./_from-message.js");
|
|
7
6
|
const index_js_1 = require("../errors/index.js");
|
|
8
7
|
const index_js_2 = require("../types/index.js");
|
|
8
|
+
const _from_message_js_1 = require("./_from-message.js");
|
|
9
9
|
function _getMessage(redisClient, messageId, cb) {
|
|
10
10
|
const { keyMessage } = redis_keys_js_1.redisKeys.getMessageKeys(messageId);
|
|
11
11
|
redisClient.hgetall(keyMessage, (err, reply) => {
|
|
@@ -5,9 +5,9 @@ const redis_smq_common_1 = require("redis-smq-common");
|
|
|
5
5
|
const redis_client_instance_js_1 = require("../../common/redis-client/redis-client-instance.js");
|
|
6
6
|
const index_js_1 = require("../../config/index.js");
|
|
7
7
|
const _delete_message_js_1 = require("./_/_delete-message.js");
|
|
8
|
-
const _get_message_js_1 = require("./_/_get-message.js");
|
|
9
8
|
const _get_message_state_js_1 = require("./_/_get-message-state.js");
|
|
10
9
|
const _get_message_status_js_1 = require("./_/_get-message-status.js");
|
|
10
|
+
const _get_message_js_1 = require("./_/_get-message.js");
|
|
11
11
|
class Message {
|
|
12
12
|
constructor() {
|
|
13
13
|
this.shutdown = (cb) => {
|
|
@@ -3,9 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.NamespaceNotFoundError = void 0;
|
|
4
4
|
const namespace_error_js_1 = require("./namespace.error.js");
|
|
5
5
|
class NamespaceNotFoundError extends namespace_error_js_1.NamespaceError {
|
|
6
|
-
constructor(namespace) {
|
|
7
|
-
super(`Namespace (${namespace}) does not exist`);
|
|
8
|
-
}
|
|
9
6
|
}
|
|
10
7
|
exports.NamespaceNotFoundError = NamespaceNotFoundError;
|
|
11
8
|
//# sourceMappingURL=namespace-not-found.error.js.map
|