redis-smq 7.0.0-rc.3 → 7.0.0-rc.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 +8 -0
- package/README.md +8 -7
- package/dist/src/lib/base.js +1 -1
- package/dist/src/lib/broker/dead-letter-message.d.ts +2 -2
- package/dist/src/lib/broker/delay-message.d.ts +3 -3
- package/dist/src/lib/broker/requeue-message.d.ts +2 -2
- package/dist/src/lib/broker/retry-message.d.ts +2 -2
- package/dist/src/lib/broker/schedule-message.d.ts +2 -2
- package/dist/src/lib/consumer/consumer-heartbeat.js +2 -2
- package/dist/src/lib/consumer/consumer-message-handler/message-handler-runner.js +1 -1
- package/dist/src/lib/consumer/consumer-message-handler/message-handler.d.ts +2 -2
- package/dist/src/lib/consumer/consumer-message-handler/message-handler.js +1 -1
- package/dist/src/lib/consumer/consumer-message-handler/multiplexed-message-handler/multiplexed-message-handler-runner.js +1 -1
- package/dist/src/lib/consumer/consumer-message-handler/processing-queue.d.ts +3 -3
- package/dist/src/lib/consumer/consumer-queues.d.ts +2 -2
- package/dist/src/lib/consumer/consumer.js +1 -1
- package/dist/src/lib/consumer/offline-consumers.d.ts +2 -2
- package/dist/src/lib/message-manager/message-manager.js +1 -1
- package/dist/src/lib/message-manager/message-storage/sorted-set.js +2 -2
- package/dist/src/lib/queue-manager/delete-queue-transaction.d.ts +2 -2
- package/dist/src/lib/queue-manager/delete-queue-transaction.js +2 -2
- package/dist/src/lib/queue-manager/namespace.js +1 -1
- package/dist/src/lib/queue-manager/queue-manager.js +1 -1
- package/dist/src/lib/queue-manager/queue-rate-limit.js +1 -1
- package/dist/src/lib/queue-manager/queue.js +1 -1
- package/dist/src/workers/delay.worker.js +1 -1
- package/dist/src/workers/requeue.worker.js +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# CHANGELOG
|
|
2
2
|
|
|
3
|
+
## 7.0.0-rc.4 (2022-05-30)
|
|
4
|
+
|
|
5
|
+
* Update README.md (fef27c1)
|
|
6
|
+
* Support node-redis v4 (c7a91b1)
|
|
7
|
+
* Drop support for node.js v12 (0b5a4e9)
|
|
8
|
+
* Fix outdated documentation (d3bf31b)
|
|
9
|
+
* Fix broken link (fd48c86)
|
|
10
|
+
|
|
3
11
|
## 7.0.0-rc.3 (2022-05-26)
|
|
4
12
|
|
|
5
13
|
* Update migration/configuration/message/message-manager references (6d53877)
|
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
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 application with ease of use.
|
|
17
17
|
|
|
18
|
-
> ☝ The master branch reflects the latest changes and updates. It is currently going under heavy development. To view the documentation
|
|
18
|
+
> ☝ The master branch reflects the latest changes and updates. It is currently going under heavy development. To view the release documentation see [v6.4.2 docs](https://github.com/weyoss/redis-smq/tree/v6.4.2).
|
|
19
19
|
|
|
20
20
|
## Features
|
|
21
21
|
|
|
@@ -30,7 +30,7 @@ RedisSMQ is a Node.js library for queuing messages (aka jobs) and processing the
|
|
|
30
30
|
* **[Multiplexing](docs/multiplexing.md)**: A feature which allows message handlers to use a single redis connection to dequeue and consume messages.
|
|
31
31
|
* **[HTTP API](https://github.com/weyoss/redis-smq-monitor)**: an HTTP interface is provided to interact with the MQ.
|
|
32
32
|
* **[Web UI](https://github.com/weyoss/redis-smq-monitor-client)**: RedisSMQ can be managed also from your web browser.
|
|
33
|
-
* **[Logging](docs/logs.md)**: Comes with a built-in JSON logger. But you can also use your own logger instance.
|
|
33
|
+
* **[Logging](https://github.com/weyoss/redis-smq-common/blob/master/docs/logs.md)**: Comes with a built-in JSON logger. But you can also use your own logger instance.
|
|
34
34
|
* **[Configurable](docs/configuration.md)**: Many options and features can be configured.
|
|
35
35
|
* **Both redis & ioredis clients are supported**: RedisSMQ can be configured to use either `redis` or `ioredis` to connect to Redis server.
|
|
36
36
|
* **Rigorously tested**: With 100+ tests and code coverage no less than 80%.
|
|
@@ -62,7 +62,7 @@ RedisSMQ is a Node.js library for queuing messages (aka jobs) and processing the
|
|
|
62
62
|
6. [Queue Manager](docs/api/queue-manager.md)
|
|
63
63
|
7. [HTTP API](https://github.com/weyoss/redis-smq-monitor)
|
|
64
64
|
8. [Web UI](https://github.com/weyoss/redis-smq-monitor-client)
|
|
65
|
-
9. [Logs](docs/logs.md)
|
|
65
|
+
9. [Logs](https://github.com/weyoss/redis-smq-common/blob/master/docs/logs.md)
|
|
66
66
|
5. [RedisSMQ Architecture](docs/redis-smq-architecture.md)
|
|
67
67
|
6. [Performance](#performance)
|
|
68
68
|
7. [Contributing](#contributing)
|
|
@@ -83,8 +83,8 @@ npm install redis-smq --save
|
|
|
83
83
|
|
|
84
84
|
Considerations:
|
|
85
85
|
|
|
86
|
-
-
|
|
87
|
-
- Minimal Redis server version is 2.6.12
|
|
86
|
+
- Minimal Node.js version is >= 14 (RedisSMQ is tested under current active LTS and maintenance LTS Node.js releases).
|
|
87
|
+
- Minimal Redis server version is 2.6.12 (RedisSMQ is tested under Redis v2.6, v3, v4, v5, and v6).
|
|
88
88
|
|
|
89
89
|
## Configuration
|
|
90
90
|
|
|
@@ -98,8 +98,9 @@ You can create a queue, view existing queues, or delete a queue using the [Queue
|
|
|
98
98
|
|
|
99
99
|
```javascript
|
|
100
100
|
const { QueueManager } = require('redis-smq');
|
|
101
|
+
const config = require('./config')
|
|
101
102
|
|
|
102
|
-
QueueManager.createInstance((err, queueManager) => {
|
|
103
|
+
QueueManager.createInstance(config, (err, queueManager) => {
|
|
103
104
|
if (err) console.log(err);
|
|
104
105
|
else queueManager.queue.create('test_queue', false, (err) => console.log(err));
|
|
105
106
|
})
|
|
@@ -233,7 +234,7 @@ See [Consumer Reference](docs/api/consumer.md) for more details.
|
|
|
233
234
|
|
|
234
235
|
* [Web UI](https://github.com/weyoss/redis-smq-monitor-client)
|
|
235
236
|
|
|
236
|
-
* [Logs](docs/logs.md)
|
|
237
|
+
* [Logs](https://github.com/weyoss/redis-smq-common/blob/master/docs/logs.md)
|
|
237
238
|
|
|
238
239
|
## RedisSMQ Architecture
|
|
239
240
|
|
package/dist/src/lib/base.js
CHANGED
|
@@ -12,7 +12,7 @@ class Base extends events_1.EventEmitter {
|
|
|
12
12
|
super();
|
|
13
13
|
this.sharedRedisClient = null;
|
|
14
14
|
this.setUpSharedRedisClient = (cb) => {
|
|
15
|
-
redis_smq_common_1.
|
|
15
|
+
(0, redis_smq_common_1.createClientInstance)(this.config.redis, (err, client) => {
|
|
16
16
|
if (err)
|
|
17
17
|
cb(err);
|
|
18
18
|
else if (!client)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EMessageDeadLetterCause, EMessageUnacknowledgedCause, IRequiredConfig } from '../../../types';
|
|
2
2
|
import { Message } from '../message/message';
|
|
3
|
-
import { ICallback,
|
|
3
|
+
import { ICallback, IRedisClientMulti } from 'redis-smq-common/dist/types';
|
|
4
4
|
import { RedisClient } from 'redis-smq-common';
|
|
5
|
-
export declare function deadLetterMessage(config: IRequiredConfig, mixed:
|
|
5
|
+
export declare function deadLetterMessage(config: IRequiredConfig, mixed: IRedisClientMulti, message: Message, keyQueueProcessing: string, unacknowledgedCause: EMessageUnacknowledgedCause, deadLetterCause: EMessageDeadLetterCause): void;
|
|
6
6
|
export declare function deadLetterMessage(config: IRequiredConfig, mixed: RedisClient, message: Message, keyQueueProcessing: string, unacknowledgedCause: EMessageUnacknowledgedCause, deadLetterCause: EMessageDeadLetterCause, cb: ICallback<void>): void;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EMessageUnacknowledgedCause } from '../../../types';
|
|
2
2
|
import { Message } from '../message/message';
|
|
3
|
-
import { ICallback,
|
|
3
|
+
import { ICallback, IRedisClientMulti } from 'redis-smq-common/dist/types';
|
|
4
4
|
import { RedisClient } from 'redis-smq-common';
|
|
5
|
-
export declare function delayMessageTransaction(mixed:
|
|
6
|
-
export declare function delayMessage(mixed:
|
|
5
|
+
export declare function delayMessageTransaction(mixed: IRedisClientMulti, message: Message, keyQueueProcessing: string): void;
|
|
6
|
+
export declare function delayMessage(mixed: IRedisClientMulti, message: Message, keyQueueProcessing: string, unacknowledgedCause: EMessageUnacknowledgedCause): void;
|
|
7
7
|
export declare function delayMessage(mixed: RedisClient, message: Message, keyQueueProcessing: string, unacknowledgedCause: EMessageUnacknowledgedCause, cb: ICallback<void>): void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EMessageUnacknowledgedCause } from '../../../types';
|
|
2
2
|
import { Message } from '../message/message';
|
|
3
|
-
import { ICallback,
|
|
3
|
+
import { ICallback, IRedisClientMulti } from 'redis-smq-common/dist/types';
|
|
4
4
|
import { RedisClient } from 'redis-smq-common';
|
|
5
|
-
export declare function requeueMessage(mixed:
|
|
5
|
+
export declare function requeueMessage(mixed: IRedisClientMulti, message: Message, keyQueueProcessing: string, unacknowledgedCause: EMessageUnacknowledgedCause): void;
|
|
6
6
|
export declare function requeueMessage(mixed: RedisClient, message: Message, keyQueueProcessing: string, unacknowledgedCause: EMessageUnacknowledgedCause, cb: ICallback<void>): void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EMessageDeadLetterCause, EMessageUnacknowledgedCause, IRequiredConfig } from '../../../types';
|
|
2
2
|
import { Message } from '../message/message';
|
|
3
|
-
import { ICallback,
|
|
3
|
+
import { ICallback, IRedisClientMulti } from 'redis-smq-common/dist/types';
|
|
4
4
|
import { RedisClient } from 'redis-smq-common';
|
|
5
|
-
export declare function retryMessage(config: IRequiredConfig, mixed:
|
|
5
|
+
export declare function retryMessage(config: IRequiredConfig, mixed: IRedisClientMulti, processingQueue: string, message: Message, unacknowledgedCause: EMessageUnacknowledgedCause): EMessageDeadLetterCause | void;
|
|
6
6
|
export declare function retryMessage(config: IRequiredConfig, mixed: RedisClient, processingQueue: string, message: Message, unacknowledgedCause: EMessageUnacknowledgedCause, cb: ICallback<EMessageDeadLetterCause | void>): void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Message } from '../message/message';
|
|
2
|
-
import { ICallback,
|
|
2
|
+
import { ICallback, IRedisClientMulti } from 'redis-smq-common/dist/types';
|
|
3
3
|
import { RedisClient } from 'redis-smq-common';
|
|
4
|
-
export declare function scheduleMessage(mixed:
|
|
4
|
+
export declare function scheduleMessage(mixed: IRedisClientMulti, message: Message): boolean;
|
|
5
5
|
export declare function scheduleMessage(mixed: RedisClient, message: Message, cb: ICallback<void>): void;
|
|
@@ -62,7 +62,7 @@ class ConsumerHeartbeat extends events_2.EventEmitter {
|
|
|
62
62
|
const multi = this.redisClient.multi();
|
|
63
63
|
multi.hset(this.keyHeartbeats, this.consumer.getId(), heartbeatPayloadStr);
|
|
64
64
|
multi.zadd(this.keyHeartbeatTimestamps, timestamp, this.consumer.getId());
|
|
65
|
-
|
|
65
|
+
multi.exec((err) => {
|
|
66
66
|
if (err)
|
|
67
67
|
this.emit(events_1.events.ERROR, err);
|
|
68
68
|
else {
|
|
@@ -171,7 +171,7 @@ class ConsumerHeartbeat extends events_2.EventEmitter {
|
|
|
171
171
|
multi.hdel(keyHeartbeats, consumerId);
|
|
172
172
|
multi.zrem(keyHeartbeatConsumerWeight, consumerId);
|
|
173
173
|
(0, offline_consumers_1.handleOfflineConsumer)(config, multi, redisClient, consumerId, done);
|
|
174
|
-
}, () =>
|
|
174
|
+
}, () => multi.exec((err) => cb(err)));
|
|
175
175
|
}
|
|
176
176
|
else
|
|
177
177
|
cb();
|
|
@@ -41,7 +41,7 @@ class MessageHandlerRunner {
|
|
|
41
41
|
}
|
|
42
42
|
runMessageHandler(handlerParams, cb) {
|
|
43
43
|
const { redis } = this.config;
|
|
44
|
-
redis_smq_common_1.
|
|
44
|
+
(0, redis_smq_common_1.createClientInstance)(redis, (err, client) => {
|
|
45
45
|
if (err)
|
|
46
46
|
cb(err);
|
|
47
47
|
else if (!client)
|
|
@@ -5,7 +5,7 @@ import { DequeueMessage } from './dequeue-message';
|
|
|
5
5
|
import { ConsumeMessage } from './consume-message';
|
|
6
6
|
import { Consumer } from '../consumer';
|
|
7
7
|
import { PowerManager, RedisClient } from 'redis-smq-common';
|
|
8
|
-
import { ICallback, ICompatibleLogger,
|
|
8
|
+
import { ICallback, ICompatibleLogger, IRedisClientMulti } from 'redis-smq-common/dist/types';
|
|
9
9
|
export declare class MessageHandler extends EventEmitter {
|
|
10
10
|
protected id: string;
|
|
11
11
|
protected consumer: Consumer;
|
|
@@ -32,5 +32,5 @@ export declare class MessageHandler extends EventEmitter {
|
|
|
32
32
|
getConfig(): IRequiredConfig;
|
|
33
33
|
isRunning(): boolean;
|
|
34
34
|
getHandler(): TConsumerMessageHandler;
|
|
35
|
-
static cleanUp(config: IRequiredConfig, redisClient: RedisClient, consumerId: string, queue: TQueueParams, pendingMulti:
|
|
35
|
+
static cleanUp(config: IRequiredConfig, redisClient: RedisClient, consumerId: string, queue: TQueueParams, pendingMulti: IRedisClientMulti | undefined, cb: ICallback<void>): void;
|
|
36
36
|
}
|
|
@@ -82,7 +82,7 @@ class MultiplexedMessageHandlerRunner extends message_handler_runner_1.MessageHa
|
|
|
82
82
|
redis_smq_common_1.async.waterfall([
|
|
83
83
|
(cb) => {
|
|
84
84
|
const { redis } = this.config;
|
|
85
|
-
redis_smq_common_1.
|
|
85
|
+
(0, redis_smq_common_1.createClientInstance)(redis, (err, client) => {
|
|
86
86
|
if (err)
|
|
87
87
|
cb(err);
|
|
88
88
|
else if (!client)
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { IRequiredConfig, TQueueParams } from '../../../../types';
|
|
2
2
|
import { RedisClient } from 'redis-smq-common';
|
|
3
|
-
import { ICallback,
|
|
3
|
+
import { ICallback, IRedisClientMulti } from 'redis-smq-common/dist/types';
|
|
4
4
|
export declare const processingQueue: {
|
|
5
|
-
cleanUpProcessingQueue(config: IRequiredConfig, redisClient: RedisClient, consumerId: string, queue: TQueueParams, multi:
|
|
6
|
-
setUpProcessingQueue(multi:
|
|
5
|
+
cleanUpProcessingQueue(config: IRequiredConfig, redisClient: RedisClient, consumerId: string, queue: TQueueParams, multi: IRedisClientMulti, cb: ICallback<void>): void;
|
|
6
|
+
setUpProcessingQueue(multi: IRedisClientMulti, queue: TQueueParams, consumerId: string): void;
|
|
7
7
|
getQueueProcessingQueues(redisClient: RedisClient, queue: TQueueParams, cb: ICallback<Record<string, string>>): void;
|
|
8
8
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { TConsumerInfo, TQueueParams } from '../../../types';
|
|
2
2
|
import { RedisClient } from 'redis-smq-common';
|
|
3
|
-
import { ICallback,
|
|
3
|
+
import { ICallback, IRedisClientMulti } from 'redis-smq-common/dist/types';
|
|
4
4
|
export declare const consumerQueues: {
|
|
5
|
-
removeConsumer(multi:
|
|
5
|
+
removeConsumer(multi: IRedisClientMulti, queue: TQueueParams, consumerId: string): void;
|
|
6
6
|
getQueueConsumers(client: RedisClient, queue: TQueueParams, transform: boolean, cb: ICallback<Record<string, TConsumerInfo | string>>): void;
|
|
7
7
|
getQueueConsumerIds(client: RedisClient, queue: TQueueParams, cb: ICallback<string[]>): void;
|
|
8
8
|
countQueueConsumers(client: RedisClient, queue: TQueueParams, cb: ICallback<number>): void;
|
|
@@ -20,7 +20,7 @@ class Consumer extends base_1.Base {
|
|
|
20
20
|
this.heartbeat = null;
|
|
21
21
|
this.workerRunner = null;
|
|
22
22
|
this.setUpHeartbeat = (cb) => {
|
|
23
|
-
redis_smq_common_1.
|
|
23
|
+
(0, redis_smq_common_1.createClientInstance)(this.config.redis, (err, redisClient) => {
|
|
24
24
|
if (err)
|
|
25
25
|
cb(err);
|
|
26
26
|
else if (!redisClient)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { IRequiredConfig } from '../../../types';
|
|
2
|
-
import { ICallback,
|
|
2
|
+
import { ICallback, IRedisClientMulti } from 'redis-smq-common/dist/types';
|
|
3
3
|
import { RedisClient } from 'redis-smq-common';
|
|
4
|
-
export declare function handleOfflineConsumer(config: IRequiredConfig, multi:
|
|
4
|
+
export declare function handleOfflineConsumer(config: IRequiredConfig, multi: IRedisClientMulti, redisClient: RedisClient, consumerId: string, cb: ICallback<void>): void;
|
|
@@ -20,7 +20,7 @@ class MessageManager {
|
|
|
20
20
|
}
|
|
21
21
|
static createInstance(config, cb) {
|
|
22
22
|
const cfg = (0, configuration_1.getConfiguration)(config);
|
|
23
|
-
redis_smq_common_1.
|
|
23
|
+
(0, redis_smq_common_1.createClientInstance)(cfg.redis, (err, client) => {
|
|
24
24
|
if (err)
|
|
25
25
|
cb(err);
|
|
26
26
|
else if (!client)
|
|
@@ -12,7 +12,7 @@ class SortedSet extends abstract_message_storage_1.AbstractMessageStorage {
|
|
|
12
12
|
const multi = this.redisClient.multi();
|
|
13
13
|
multi.hdel(keyMessages, messageId);
|
|
14
14
|
multi.zrem(keyMessagesWeight, messageId);
|
|
15
|
-
|
|
15
|
+
multi.exec((err) => cb(err));
|
|
16
16
|
}
|
|
17
17
|
fetchMessages(key, skip, take, cb) {
|
|
18
18
|
this.validatePaginationParams(skip, take);
|
|
@@ -73,7 +73,7 @@ class SortedSet extends abstract_message_storage_1.AbstractMessageStorage {
|
|
|
73
73
|
const multi = this.redisClient.multi();
|
|
74
74
|
multi.del(keyMessages);
|
|
75
75
|
multi.del(keyMessagesWeight);
|
|
76
|
-
|
|
76
|
+
multi.exec((err) => cb(err));
|
|
77
77
|
}
|
|
78
78
|
getMessageById(key, id, cb) {
|
|
79
79
|
const { keyMessages } = key;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { RedisClient } from 'redis-smq-common';
|
|
2
|
-
import { ICallback,
|
|
2
|
+
import { ICallback, IRedisClientMulti } from 'redis-smq-common/dist/types';
|
|
3
3
|
import { IRequiredConfig, TQueueParams } from '../../../types';
|
|
4
|
-
export declare function initDeleteQueueTransaction(config: IRequiredConfig, redisClient: RedisClient, queueParams: TQueueParams, multi:
|
|
4
|
+
export declare function initDeleteQueueTransaction(config: IRequiredConfig, redisClient: RedisClient, queueParams: TQueueParams, multi: IRedisClientMulti | undefined, cb: ICallback<IRedisClientMulti>): void;
|
|
@@ -81,9 +81,9 @@ function initDeleteQueueTransaction(config, redisClient, queueParams, multi, cb)
|
|
|
81
81
|
const pQueues = processingQueues !== null && processingQueues !== void 0 ? processingQueues : [];
|
|
82
82
|
if (pQueues.length) {
|
|
83
83
|
keys.push(...pQueues);
|
|
84
|
-
tx.srem(keyProcessingQueues,
|
|
84
|
+
tx.srem(keyProcessingQueues, pQueues);
|
|
85
85
|
}
|
|
86
|
-
tx.del(
|
|
86
|
+
tx.del(keys);
|
|
87
87
|
cb(null, tx);
|
|
88
88
|
}
|
|
89
89
|
});
|
|
@@ -21,7 +21,7 @@ class QueueManager {
|
|
|
21
21
|
static createInstance(config, cb) {
|
|
22
22
|
const cfg = (0, configuration_1.getConfiguration)(config);
|
|
23
23
|
const redis = cfg.redis;
|
|
24
|
-
redis_smq_common_1.
|
|
24
|
+
(0, redis_smq_common_1.createClientInstance)(redis, (err, client) => {
|
|
25
25
|
if (err)
|
|
26
26
|
cb(err);
|
|
27
27
|
else if (!client)
|
|
@@ -17,7 +17,7 @@ class QueueRateLimit {
|
|
|
17
17
|
const multi = this.redisClient.multi();
|
|
18
18
|
multi.hdel(keyQueueSettings, keyQueueSettingsRateLimit);
|
|
19
19
|
multi.del(keyQueueRateLimitCounter);
|
|
20
|
-
|
|
20
|
+
multi.exec((err) => cb(err));
|
|
21
21
|
}
|
|
22
22
|
set(queue, rateLimit, cb) {
|
|
23
23
|
const queueParams = queue_1.Queue.getParams(this.config, queue);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "redis-smq",
|
|
3
|
-
"version": "7.0.0-rc.
|
|
3
|
+
"version": "7.0.0-rc.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",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"bluebird": "3.7.2",
|
|
37
37
|
"cron-parser": "3.5.0",
|
|
38
38
|
"lodash": "4.17.21",
|
|
39
|
-
"redis-smq-common": "1.0.0-rc.
|
|
39
|
+
"redis-smq-common": "1.0.0-rc.8",
|
|
40
40
|
"uuid": "8.3.2"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
@@ -91,6 +91,6 @@
|
|
|
91
91
|
},
|
|
92
92
|
"engineStrict": true,
|
|
93
93
|
"engines": {
|
|
94
|
-
"node": "
|
|
94
|
+
"node": ">=14"
|
|
95
95
|
}
|
|
96
96
|
}
|