redis-smq 7.2.1 → 7.2.2

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 CHANGED
@@ -1,5 +1,12 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 7.2.2 (2023-03-25)
4
+
5
+ * test(workers): update tests (c22f1bb)
6
+ * perf(workers): use offset/count for schedule and watchdog workers (e78ecdb)
7
+ * build: bump up redis-smq-common to v2.0.0 (c90050d)
8
+ * build: clean up (61851a9)
9
+
3
10
  ## 7.2.1 (2023-02-15)
4
11
 
5
12
  * build: update deps (e362d7c)
@@ -16,11 +16,11 @@ export declare class ConsumerHeartbeat extends EventEmitter {
16
16
  protected onTick(): void;
17
17
  quit(cb: ICallback<void>): void;
18
18
  static validateHeartbeatsOf(redisClient: RedisClient, consumerIds: string[], cb: ICallback<Record<string, boolean>>): void;
19
- static getValidHeartbeats(redisClient: RedisClient, cb: ICallback<{
19
+ static getValidHeartbeats(redisClient: RedisClient, timestamp: number, offset: number, count: number, cb: ICallback<{
20
20
  consumerId: string;
21
21
  payload: string;
22
22
  }[]>): void;
23
- static getValidHeartbeatIds(redisClient: RedisClient, cb: ICallback<string[]>): void;
24
- static getExpiredHeartbeatIds(redisClient: RedisClient, cb: ICallback<string[]>): void;
23
+ static getValidHeartbeatIds(redisClient: RedisClient, timestamp: number, offset: number, count: number, cb: ICallback<string[]>): void;
24
+ static getExpiredHeartbeatIds(redisClient: RedisClient, timestamp: number, offset: number, count: number, cb: ICallback<string[]>): void;
25
25
  static handleExpiredHeartbeatId(consumerId: string | string[], multi: IRedisClientMulti): void;
26
26
  }
@@ -108,8 +108,8 @@ class ConsumerHeartbeat extends events_2.EventEmitter {
108
108
  }
109
109
  });
110
110
  }
111
- static getValidHeartbeats(redisClient, cb) {
112
- ConsumerHeartbeat.getValidHeartbeatIds(redisClient, (err, consumerIds) => {
111
+ static getValidHeartbeats(redisClient, timestamp, offset, count, cb) {
112
+ ConsumerHeartbeat.getValidHeartbeatIds(redisClient, timestamp, offset, count, (err, consumerIds) => {
113
113
  if (err)
114
114
  cb(err);
115
115
  else if (consumerIds && consumerIds.length) {
@@ -146,20 +146,20 @@ class ConsumerHeartbeat extends events_2.EventEmitter {
146
146
  cb(null, []);
147
147
  });
148
148
  }
149
- static getValidHeartbeatIds(redisClient, cb) {
149
+ static getValidHeartbeatIds(redisClient, timestamp, offset, count, cb) {
150
150
  const { keyHeartbeatConsumerWeight } = redis_keys_1.redisKeys.getMainKeys();
151
- const timestamp = Date.now() - ConsumerHeartbeat.heartbeatTTL;
152
- redisClient.zrangebyscore(keyHeartbeatConsumerWeight, timestamp, '+inf', (err, consumerIds) => {
151
+ const ts = timestamp - ConsumerHeartbeat.heartbeatTTL;
152
+ redisClient.zrangebyscore(keyHeartbeatConsumerWeight, ts, '+inf', offset, count, (err, consumerIds) => {
153
153
  if (err)
154
154
  cb(err);
155
155
  else
156
156
  cb(null, consumerIds !== null && consumerIds !== void 0 ? consumerIds : []);
157
157
  });
158
158
  }
159
- static getExpiredHeartbeatIds(redisClient, cb) {
159
+ static getExpiredHeartbeatIds(redisClient, timestamp, offset, count, cb) {
160
160
  const { keyHeartbeatConsumerWeight } = redis_keys_1.redisKeys.getMainKeys();
161
- const timestamp = Date.now() - ConsumerHeartbeat.heartbeatTTL;
162
- redisClient.zrangebyscore(keyHeartbeatConsumerWeight, '-inf', timestamp, (err, consumerIds) => {
161
+ const ts = timestamp - ConsumerHeartbeat.heartbeatTTL;
162
+ redisClient.zrangebyscore(keyHeartbeatConsumerWeight, '-inf', ts, offset, count, (err, consumerIds) => {
163
163
  if (err)
164
164
  cb(err);
165
165
  else
@@ -26,7 +26,7 @@ export declare class Consumer extends Base {
26
26
  static getOnlineConsumers(redisClient: RedisClient, queue: TQueueParams, transform: boolean | undefined, cb: ICallback<Record<string, TConsumerInfo | string>>): void;
27
27
  static getOnlineConsumerIds(redisClient: RedisClient, queue: TQueueParams, cb: ICallback<string[]>): void;
28
28
  static countOnlineConsumers(redisClient: RedisClient, queue: TQueueParams, cb: ICallback<number>): void;
29
- static getConsumerHeartbeats(redisClient: RedisClient, cb: ICallback<{
29
+ static getConsumerHeartbeats(redisClient: RedisClient, timestamp: number, offset: number, count: number, cb: ICallback<{
30
30
  consumerId: string;
31
31
  payload: string;
32
32
  }[]>): void;
@@ -125,8 +125,8 @@ class Consumer extends base_1.Base {
125
125
  static countOnlineConsumers(redisClient, queue, cb) {
126
126
  consumer_queues_1.consumerQueues.countQueueConsumers(redisClient, queue, cb);
127
127
  }
128
- static getConsumerHeartbeats(redisClient, cb) {
129
- consumer_heartbeat_1.ConsumerHeartbeat.getValidHeartbeats(redisClient, cb);
128
+ static getConsumerHeartbeats(redisClient, timestamp, offset, count, cb) {
129
+ consumer_heartbeat_1.ConsumerHeartbeat.getValidHeartbeats(redisClient, timestamp, offset, count, cb);
130
130
  }
131
131
  }
132
132
  exports.Consumer = Consumer;
@@ -11,7 +11,7 @@ class ScheduleWorker extends redis_smq_common_1.Worker {
11
11
  super(managed);
12
12
  this.fetchMessageIds = (cb) => {
13
13
  const { keyScheduledMessageWeight } = redis_keys_1.redisKeys.getMainKeys();
14
- this.redisClient.zrangebyscore(keyScheduledMessageWeight, 0, Date.now(), cb);
14
+ this.redisClient.zrangebyscore(keyScheduledMessageWeight, 0, Date.now(), 0, 100, cb);
15
15
  };
16
16
  this.fetchMessages = (ids, cb) => {
17
17
  if (ids.length) {
@@ -10,7 +10,7 @@ class WatchdogWorker extends redis_smq_common_1.Worker {
10
10
  constructor(redisClient, config, managed, logger) {
11
11
  super(managed);
12
12
  this.work = (cb) => {
13
- consumer_heartbeat_1.ConsumerHeartbeat.getExpiredHeartbeatIds(this.redisClient, (err, reply) => {
13
+ consumer_heartbeat_1.ConsumerHeartbeat.getExpiredHeartbeatIds(this.redisClient, Date.now(), 0, 100, (err, reply) => {
14
14
  if (err)
15
15
  cb(err);
16
16
  else {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "redis-smq",
3
- "version": "7.2.1",
3
+ "version": "7.2.2",
4
4
  "description": "A simple high-performance Redis message queue for Node.js.",
5
5
  "author": "Weyoss <weyoss@protonmail.com>",
6
6
  "license": "MIT",
@@ -39,7 +39,7 @@
39
39
  "uuid": "9.0.0"
40
40
  },
41
41
  "peerDependencies": {
42
- "redis-smq-common": "^1.0.6"
42
+ "redis-smq-common": "^2.0.0"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@types/bluebird": "3.5.38",
@@ -51,7 +51,6 @@
51
51
  "@types/uuid": "9.0.0",
52
52
  "@typescript-eslint/eslint-plugin": "4.32.0",
53
53
  "@typescript-eslint/parser": "4.32.0",
54
- "coveralls": "3.1.1",
55
54
  "eslint": "7.32.0",
56
55
  "eslint-config-prettier": "8.3.0",
57
56
  "eslint-plugin-prettier": "4.0.0",
@@ -59,7 +58,7 @@
59
58
  "jest": "27.2.4",
60
59
  "lint-staged": "11.1.2",
61
60
  "prettier": "2.4.1",
62
- "redis-smq-common": "^1.0.6",
61
+ "redis-smq-common": "^2.0.0",
63
62
  "supertest": "6.1.6",
64
63
  "ts-jest": "27.0.5",
65
64
  "ts-node": "10.2.1",