@mhbdev/redis 0.2.2 → 0.2.3

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,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.3
4
+
5
+ ### Patch Changes
6
+
7
+ - Correct delayed stream reply parsing and add safe metadata-only queue lifecycle hooks.
8
+
3
9
  ## 0.2.2
4
10
 
5
11
  ### Patch Changes
@@ -0,0 +1,5 @@
1
+ export type RedisErrorHook = (error: Error) => void;
2
+ export declare function notifyHook<Arguments extends readonly unknown[]>(hook: ((...args: Arguments) => void) | undefined, onError: RedisErrorHook | undefined, ...args: Arguments): void;
3
+ /** Error observers are isolated so monitoring code cannot interrupt Redis work. */
4
+ export declare function notifyError(hook: RedisErrorHook | undefined, error: unknown): void;
5
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/core/hooks.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;AAEpD,wBAAgB,UAAU,CAAC,SAAS,SAAS,SAAS,OAAO,EAAE,EAC9D,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC,GAAG,SAAS,EAChD,OAAO,EAAE,cAAc,GAAG,SAAS,EACnC,GAAG,IAAI,EAAE,SAAS,GAChB,IAAI,CAON;AAED,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAOlF"}
@@ -0,0 +1,23 @@
1
+ import { asError } from "./errors.js";
2
+ export function notifyHook(hook, onError, ...args) {
3
+ if (!hook)
4
+ return;
5
+ try {
6
+ hook(...args);
7
+ }
8
+ catch (error) {
9
+ notifyError(onError, error);
10
+ }
11
+ }
12
+ /** Error observers are isolated so monitoring code cannot interrupt Redis work. */
13
+ export function notifyError(hook, error) {
14
+ if (!hook)
15
+ return;
16
+ try {
17
+ hook(asError(error));
18
+ }
19
+ catch {
20
+ // Error hooks are terminal observers and must not create unhandled failures.
21
+ }
22
+ }
23
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/core/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAItC,MAAM,UAAU,UAAU,CACzB,IAAgD,EAChD,OAAmC,EACnC,GAAG,IAAe;IAElB,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,IAAI,CAAC;QACJ,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;AACF,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,WAAW,CAAC,IAAgC,EAAE,KAAc;IAC3E,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,IAAI,CAAC;QACJ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACR,6EAA6E;IAC9E,CAAC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pubsub.d.ts","sourceRoot":"","sources":["../../src/ioredis/pubsub.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAEzE,MAAM,WAAW,uBAAuB;IACvC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3D,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACjF,GAAG,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACnF,SAAS,CAAC,IAAI,uBAAuB,CAAC;IACtC,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,UAAU,CAAC,IAAI,IAAI,CAAC;CACpB;AAED,wBAAgB,4BAA4B,CAC3C,OAAO,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,uBAAuB,CAAC;IACnC,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACjC,CAAC,GACA,0BAA0B,CAiE5B"}
1
+ {"version":3,"file":"pubsub.d.ts","sourceRoot":"","sources":["../../src/ioredis/pubsub.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAEzE,MAAM,WAAW,uBAAuB;IACvC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3D,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACjF,GAAG,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACnF,SAAS,CAAC,IAAI,uBAAuB,CAAC;IACtC,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,UAAU,CAAC,IAAI,IAAI,CAAC;CACpB;AAED,wBAAgB,4BAA4B,CAC3C,OAAO,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,uBAAuB,CAAC;IACnC,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACjC,CAAC,GACA,0BAA0B,CAiE5B"}
@@ -1,4 +1,5 @@
1
- import { asError, RedisClientStateError, RedisConfigurationError, } from "../core/errors.js";
1
+ import { RedisClientStateError, RedisConfigurationError } from "../core/errors.js";
2
+ import { notifyError } from "../core/hooks.js";
2
3
  export function createIoredisPubSubTransport(options) {
3
4
  const subscriber = options.subscriber ?? options.publisher.duplicate?.();
4
5
  const ownsSubscriber = options.subscriber === undefined;
@@ -9,10 +10,10 @@ export function createIoredisPubSubTransport(options) {
9
10
  const onMessage = (channel, message) => {
10
11
  for (const listener of listeners.get(channel) ?? []) {
11
12
  try {
12
- void Promise.resolve(listener(message)).catch((error) => options.onError?.(asError(error)));
13
+ void Promise.resolve(listener(message)).catch((error) => notifyError(options.onError, error));
13
14
  }
14
15
  catch (error) {
15
- options.onError?.(asError(error));
16
+ notifyError(options.onError, error);
16
17
  }
17
18
  }
18
19
  };
@@ -1 +1 @@
1
- {"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../../src/ioredis/pubsub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../../src/ioredis/pubsub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAc/C,MAAM,UAAU,4BAA4B,CAC3C,OAIE;IAEF,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC;IACzE,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC;IACxD,IAAI,CAAC,UAAU;QACd,MAAM,IAAI,uBAAuB,CAChC,yDAAyD,CACzD,CAAC;IACH,MAAM,SAAS,GAAG,IAAI,GAAG,EAA0D,CAAC;IACpF,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,MAAM,SAAS,GAAG,CAAC,OAAe,EAAE,OAAe,EAAE,EAAE;QACtD,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YACrD,IAAI,CAAC;gBACJ,KAAK,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CAChE,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CACnC,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACrC,CAAC;QACF,CAAC;IACF,CAAC,CAAC;IACF,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACpC,OAAO;QACN,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO;YAC7B,IAAI,MAAM;gBACT,MAAM,IAAI,qBAAqB,CAAC,uCAAuC,CAAC,CAAC;YAC1E,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;gBAClB,MAAM,IAAI,uBAAuB,CAAC,6BAA6B,CAAC,CAAC;YAClE,OAAO,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO;YAC/B,IAAI,MAAM;gBACT,MAAM,IAAI,qBAAqB,CAAC,uCAAuC,CAAC,CAAC;YAC1E,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;gBAClB,MAAM,IAAI,uBAAuB,CAAC,6BAA6B,CAAC,CAAC;YAClE,IAAI,gBAAgB,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACvB,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAC;gBAC7B,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBACzC,MAAM,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC;YACD,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC9B,OAAO,KAAK,IAAI,EAAE;gBACjB,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBAClC,IAAI,gBAAgB,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC;oBAClC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC1B,MAAM,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACvC,CAAC;YACF,CAAC,CAAC;QACH,CAAC;QACD,KAAK,CAAC,KAAK;YACV,IAAI,MAAM;gBAAE,OAAO;YACnB,MAAM,GAAG,IAAI,CAAC;YACd,MAAM,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YACvC,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACvC,SAAS,CAAC,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC;gBACJ,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC/E,CAAC;oBAAS,CAAC;gBACV,IAAI,cAAc,EAAE,CAAC;oBACpB,IAAI,UAAU,CAAC,IAAI;wBAAE,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;;wBACxC,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC;gBAChC,CAAC;YACF,CAAC;QACF,CAAC;KACD,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/node/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,kBAAkB,IAAI,gBAAgB,EAC3C,KAAK,eAAe,EACpB,MAAM,OAAO,CAAC;AAUf,OAAO,EAEN,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,kBAAkB,EAEvB,MAAM,qBAAqB,CAAC;AAG7B,KAAK,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACxC,MAAM,MAAM,eAAe,GAAG,eAAe,CAC5C,WAAW,EACX,WAAW,EACX,WAAW,EACX,CAAC,EACD,WAAW,CACX,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,GAAG,qBAAqB,CAAC,CAAC;IACtE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,UAAU,CAAC;CACnB,CAAC,CAAC;AAEH,qBAAa,WAAY,YAAW,eAAe;IAClD,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAmBrB;IACH,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,MAAM,CAAS;IAEvB,YAAY,OAAO,EAAE,kBAAkB,EAwBtC;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,OAAO,CAAC,YAAY;IA4BpB,OAAO,CAAC,aAAa;IAMf,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CA4B7B;IAEK,OAAO,CAAC,CAAC,GAAG,OAAO,EACxB,OAAO,EAAE,YAAY,EACrB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GACpC,OAAO,CAAC,CAAC,CAAC,CAgBZ;YAEa,WAAW;IAanB,IAAI,CAAC,CAAC,GAAG,OAAO,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kBAAkB,EAC3B,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GACpC,OAAO,CAAC,CAAC,CAAC,CASZ;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAE1B;IAED,GAAG,IAAI,eAAe,CAErB;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAQ3B;CACD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,WAAW,CAE1E;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,CAAC,EACtC,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAC3C,OAAO,CAAC,CAAC,CAAC,CAQZ"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/node/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,kBAAkB,IAAI,gBAAgB,EAC3C,KAAK,eAAe,EACpB,MAAM,OAAO,CAAC;AAUf,OAAO,EAEN,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,kBAAkB,EAEvB,MAAM,qBAAqB,CAAC;AAI7B,KAAK,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACxC,MAAM,MAAM,eAAe,GAAG,eAAe,CAC5C,WAAW,EACX,WAAW,EACX,WAAW,EACX,CAAC,EACD,WAAW,CACX,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,GAAG,qBAAqB,CAAC,CAAC;IACtE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,UAAU,CAAC;CACnB,CAAC,CAAC;AAEH,qBAAa,WAAY,YAAW,eAAe;IAClD,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAmBrB;IACH,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,MAAM,CAAS;IAEvB,YAAY,OAAO,EAAE,kBAAkB,EAwBtC;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,OAAO,CAAC,YAAY;IAoCpB,OAAO,CAAC,aAAa;IAMf,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAgC7B;IAEK,OAAO,CAAC,CAAC,GAAG,OAAO,EACxB,OAAO,EAAE,YAAY,EACrB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GACpC,OAAO,CAAC,CAAC,CAAC,CAqBZ;YAEa,WAAW;IAanB,IAAI,CAAC,CAAC,GAAG,OAAO,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kBAAkB,EAC3B,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GACpC,OAAO,CAAC,CAAC,CAAC,CASZ;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAE1B;IAED,GAAG,IAAI,eAAe,CAErB;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAY3B;CACD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,WAAW,CAE1E;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,CAAC,EACtC,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAC3C,OAAO,CAAC,CAAC,CAAC,CAQZ"}
@@ -1,6 +1,7 @@
1
1
  import { createClient, } from "redis";
2
2
  import { asError, RedisClientStateError, RedisConfigurationError, RedisConnectionError, RedisRequestAbortedError, RedisTimeoutError, } from "../core/errors.js";
3
3
  import { assertPositiveInteger, withTimeout, } from "../core/executor.js";
4
+ import { notifyError, notifyHook } from "../core/hooks.js";
4
5
  import { normalizeNodeRedisError } from "./errors.js";
5
6
  export class RedisClient {
6
7
  client;
@@ -52,12 +53,12 @@ export class RedisClient {
52
53
  });
53
54
  client.on("error", (error) => {
54
55
  const normalized = asError(error);
55
- this.options.onError?.(normalized);
56
- this.options.hooks?.onError?.(normalized);
57
- this.options.hooks?.onStateChange?.("error");
56
+ notifyError(this.options.onError, normalized);
57
+ notifyError(this.options.hooks?.onError, normalized);
58
+ notifyHook(this.options.hooks?.onStateChange, this.options.hooks?.onError, "error");
58
59
  });
59
- client.on("ready", () => this.options.hooks?.onStateChange?.("ready"));
60
- client.on("reconnecting", () => this.options.hooks?.onStateChange?.("connecting"));
60
+ client.on("ready", () => notifyHook(this.options.hooks?.onStateChange, this.options.hooks?.onError, "ready"));
61
+ client.on("reconnecting", () => notifyHook(this.options.hooks?.onStateChange, this.options.hooks?.onError, "connecting"));
61
62
  return client;
62
63
  }
63
64
  replaceClient() {
@@ -74,7 +75,7 @@ export class RedisClient {
74
75
  return;
75
76
  const client = this.client;
76
77
  this.connecting ??= withTimeout(async () => {
77
- this.options.hooks?.onStateChange?.("connecting");
78
+ notifyHook(this.options.hooks?.onStateChange, this.options.hooks?.onError, "connecting");
78
79
  await client.connect();
79
80
  }, this.options.connectTimeoutMs, "Redis connection timed out")
80
81
  .catch((error) => {
@@ -98,12 +99,12 @@ export class RedisClient {
98
99
  throw new RedisRequestAbortedError(options.signal.reason);
99
100
  await this.connect();
100
101
  const started = Date.now();
101
- this.options.hooks?.onCommandStart?.(command);
102
+ notifyHook(this.options.hooks?.onCommandStart, this.options.hooks?.onError, command);
102
103
  try {
103
104
  return await withTimeout((signal) => this.sendCommand(command, signal), this.options.commandTimeoutMs, "Redis command timed out", options.signal);
104
105
  }
105
106
  finally {
106
- this.options.hooks?.onCommandEnd?.(command, Date.now() - started);
107
+ notifyHook(this.options.hooks?.onCommandEnd, this.options.hooks?.onError, command, Date.now() - started);
107
108
  }
108
109
  }
109
110
  async sendCommand(command, signal) {
@@ -137,7 +138,7 @@ export class RedisClient {
137
138
  await this.connecting?.catch(() => undefined);
138
139
  if (this.client.isOpen)
139
140
  await this.client.close();
140
- this.options.hooks?.onStateChange?.("closed");
141
+ notifyHook(this.options.hooks?.onStateChange, this.options.hooks?.onError, "closed");
141
142
  })();
142
143
  await this.closing;
143
144
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/node/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/node/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../src/node/pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,kBAAkB,IAAI,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAStF,OAAO,EAEN,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EAEvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAChD,QAAQ,CAAC;IACR,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,GAAG,qBAAqB,CAAC,CAAC;CACtE,CAAC,CAAC;AAIJ,qBAAa,SAAU,YAAW,aAAa;IASlC,OAAO,CAAC,QAAQ,CAAC,OAAO;IARpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAA8B;IAEhD,YAA6B,OAAO,EAAE,gBAAgB,EA6CrD;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CA8B7B;IAEK,OAAO,CAAC,CAAC,GAAG,OAAO,EACxB,OAAO,EAAE,YAAY,EACrB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GACpC,OAAO,CAAC,CAAC,CAAC,CAsBZ;IAEK,IAAI,CAAC,CAAC,GAAG,OAAO,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kBAAkB,EAC3B,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GACpC,OAAO,CAAC,CAAC,CAAC,CAWZ;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAE1B;IAEK,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAInE;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAM3B;IAED,OAAO,CAAC,WAAW;CAKnB;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAEpE;AAED,iEAAiE;AACjE,wBAAsB,aAAa,CAAC,CAAC,EACpC,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,GACxC,OAAO,CAAC,CAAC,CAAC,CAQZ"}
1
+ {"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../src/node/pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,kBAAkB,IAAI,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAStF,OAAO,EAEN,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EAEvB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAChD,QAAQ,CAAC;IACR,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,GAAG,qBAAqB,CAAC,CAAC;CACtE,CAAC,CAAC;AAIJ,qBAAa,SAAU,YAAW,aAAa;IASlC,OAAO,CAAC,QAAQ,CAAC,OAAO;IARpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAA8B;IAEhD,YAA6B,OAAO,EAAE,gBAAgB,EA6CrD;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAsC7B;IAEK,OAAO,CAAC,CAAC,GAAG,OAAO,EACxB,OAAO,EAAE,YAAY,EACrB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GACpC,OAAO,CAAC,CAAC,CAAC,CA2BZ;IAEK,IAAI,CAAC,CAAC,GAAG,OAAO,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kBAAkB,EAC3B,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GACpC,OAAO,CAAC,CAAC,CAAC,CAWZ;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAE1B;IAEK,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAInE;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAM3B;IAED,OAAO,CAAC,WAAW;CAKnB;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAEpE;AAED,iEAAiE;AACjE,wBAAsB,aAAa,CAAC,CAAC,EACpC,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,GACxC,OAAO,CAAC,CAAC,CAAC,CAQZ"}
package/dist/node/pool.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { createClientPool } from "redis";
2
2
  import { RedisClientStateError, RedisConfigurationError, RedisConnectionError, RedisRequestAbortedError, RedisTimeoutError, } from "../core/errors.js";
3
3
  import { assertPositiveInteger, withTimeout, } from "../core/executor.js";
4
+ import { notifyError, notifyHook } from "../core/hooks.js";
4
5
  import { normalizeNodeRedisError } from "./errors.js";
5
6
  export class RedisPool {
6
7
  options;
@@ -65,12 +66,12 @@ export class RedisPool {
65
66
  if (this.connected)
66
67
  return;
67
68
  this.connecting ??= withTimeout(async () => {
68
- this.options.hooks?.onStateChange?.("connecting");
69
+ notifyHook(this.options.hooks?.onStateChange, this.options.hooks?.onError, "connecting");
69
70
  await this.pool.connect();
70
71
  }, this.connectTimeoutMs, "Redis pool connection timed out")
71
72
  .then(() => {
72
73
  this.connected = true;
73
- this.options.hooks?.onStateChange?.("ready");
74
+ notifyHook(this.options.hooks?.onStateChange, this.options.hooks?.onError, "ready");
74
75
  })
75
76
  .catch((error) => {
76
77
  const normalized = normalizeNodeRedisError(error);
@@ -94,7 +95,7 @@ export class RedisPool {
94
95
  throw new RedisRequestAbortedError(request.signal.reason);
95
96
  await this.connect();
96
97
  const started = Date.now();
97
- this.options.hooks?.onCommandStart?.(command);
98
+ notifyHook(this.options.hooks?.onCommandStart, this.options.hooks?.onError, command);
98
99
  try {
99
100
  return await withTimeout((signal) => this.pool.withAbortSignal(signal).sendCommand([...command]), this.commandTimeoutMs, "Redis command timed out", request.signal);
100
101
  }
@@ -104,7 +105,7 @@ export class RedisPool {
104
105
  throw normalized;
105
106
  }
106
107
  finally {
107
- this.options.hooks?.onCommandEnd?.(command, Date.now() - started);
108
+ notifyHook(this.options.hooks?.onCommandEnd, this.options.hooks?.onError, command, Date.now() - started);
108
109
  }
109
110
  }
110
111
  async eval(script, options, request = {}) {
@@ -131,12 +132,12 @@ export class RedisPool {
131
132
  this.closed = true;
132
133
  await this.connecting?.catch(() => undefined);
133
134
  await this.pool.close();
134
- this.options.hooks?.onStateChange?.("closed");
135
+ notifyHook(this.options.hooks?.onStateChange, this.options.hooks?.onError, "closed");
135
136
  }
136
137
  reportError(error) {
137
- this.options.onError?.(error);
138
- this.options.hooks?.onError?.(error);
139
- this.options.hooks?.onStateChange?.("error");
138
+ notifyError(this.options.onError, error);
139
+ notifyError(this.options.hooks?.onError, error);
140
+ notifyHook(this.options.hooks?.onStateChange, this.options.hooks?.onError, "error");
140
141
  }
141
142
  }
142
143
  export function createRedisPool(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../src/node/pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../src/node/pool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pubsub.d.ts","sourceRoot":"","sources":["../../src/node/pubsub.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAMnD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAKzE,wBAAgB,yBAAyB,CACxC,OAAO,EAAE,QAAQ,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CAAE,CAAC,GAClE,0BAA0B,CA6C5B;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EACtC,OAAO,EAAE,QAAQ,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACjC,CAAC,GACA;IACF,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpD,SAAS,CACR,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACzC,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAChC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB,CAiBA"}
1
+ {"version":3,"file":"pubsub.d.ts","sourceRoot":"","sources":["../../src/node/pubsub.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAKzE,wBAAgB,yBAAyB,CACxC,OAAO,EAAE,QAAQ,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CAAE,CAAC,GAClE,0BAA0B,CA6C5B;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EACtC,OAAO,EAAE,QAAQ,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACjC,CAAC,GACA;IACF,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpD,SAAS,CACR,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACzC,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAChC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB,CAiBA"}
@@ -1,10 +1,11 @@
1
1
  import { createClient } from "redis";
2
- import { asError, RedisClientStateError, RedisConfigurationError, } from "../core/errors.js";
2
+ import { RedisClientStateError, RedisConfigurationError } from "../core/errors.js";
3
+ import { notifyError } from "../core/hooks.js";
3
4
  export function createNodePubSubTransport(options) {
4
5
  let publisher = null;
5
6
  let subscriber = null;
6
7
  let closed = false;
7
- const report = (error) => options.onError?.(asError(error));
8
+ const report = (error) => notifyError(options.onError, error);
8
9
  return {
9
10
  async publish(channel, message) {
10
11
  if (closed)
@@ -1 +1 @@
1
- {"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../../src/node/pubsub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../../src/node/pubsub.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export type { EnqueueOptions, JobQueue, QueueJob, QueueOptions, QueueWorker, QueueWorkerOptions, } from "./queue.js";
1
+ export type { EnqueueOptions, JobQueue, QueueJob, QueueJobContext, QueueOptions, QueueWorker, QueueWorkerHooks, QueueWorkerOptions, } from "./queue.js";
2
2
  export { createQueue, createRedisQueue, RedisQueue, RedisQueueWorker } from "./queue.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/queue/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,kBAAkB,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/queue/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,kBAAkB,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/queue/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/queue/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
@@ -24,6 +24,20 @@ export type QueueWorkerOptions = Readonly<{
24
24
  consumer?: string;
25
25
  blockMs?: number;
26
26
  concurrency?: number;
27
+ hooks?: QueueWorkerHooks;
28
+ }>;
29
+ export type QueueJobContext = Readonly<{
30
+ id: string;
31
+ attempts: number;
32
+ enqueuedAt: number;
33
+ }>;
34
+ /** Lifecycle hooks receive job metadata without the potentially sensitive payload. */
35
+ export type QueueWorkerHooks = Readonly<{
36
+ onJobStart?: (job: QueueJobContext) => void;
37
+ onJobComplete?: (job: QueueJobContext) => void;
38
+ onJobFailure?: (job: QueueJobContext, error: Error) => void;
39
+ onDeadLetter?: (job: QueueJobContext, error?: Error) => void;
40
+ onError?: (error: Error) => void;
27
41
  }>;
28
42
  export interface JobQueue<T> {
29
43
  enqueue(data: T, options?: EnqueueOptions): Promise<string>;
@@ -60,6 +74,7 @@ export declare class RedisQueueWorker<T> implements QueueWorker {
60
74
  private readonly consumer;
61
75
  private readonly blockMs;
62
76
  private readonly concurrency;
77
+ private readonly hooks?;
63
78
  private stopping;
64
79
  private running;
65
80
  constructor(queue: RedisQueue<T>, handler: (job: QueueJob<T>) => Promise<void>, options: QueueWorkerOptions);
@@ -70,6 +85,11 @@ export declare class RedisQueueWorker<T> implements QueueWorker {
70
85
  private promoteDue;
71
86
  private recoverPending;
72
87
  private process;
88
+ private notifyJobStart;
89
+ private notifyJobComplete;
90
+ private notifyJobFailure;
91
+ private notifyDeadLetter;
92
+ private reportError;
73
93
  private encodeRetry;
74
94
  }
75
95
  export declare function createQueue<T>(options: QueueOptions<T>): RedisQueue<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../src/queue/queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../src/queue/queue.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { jsonCodec } from "../core/codec.js";
2
- import { RedisQueueError } from "../core/errors.js";
2
+ import { asError, RedisQueueError } from "../core/errors.js";
3
+ import { notifyError } from "../core/hooks.js";
3
4
  export class RedisQueue {
4
5
  options;
5
6
  prefix;
@@ -107,6 +108,7 @@ export class RedisQueueWorker {
107
108
  consumer;
108
109
  blockMs;
109
110
  concurrency;
111
+ hooks;
110
112
  stopping = false;
111
113
  running = null;
112
114
  constructor(queue, handler, options) {
@@ -116,6 +118,7 @@ export class RedisQueueWorker {
116
118
  this.consumer = options.consumer ?? crypto.randomUUID();
117
119
  this.blockMs = options.blockMs ?? 1_000;
118
120
  this.concurrency = options.concurrency ?? 1;
121
+ this.hooks = options.hooks;
119
122
  if (!this.group.trim() || !this.consumer.trim())
120
123
  throw new RedisQueueError("Queue consumer group and consumer are required");
121
124
  if (!Number.isSafeInteger(this.blockMs) || this.blockMs <= 0)
@@ -127,7 +130,12 @@ export class RedisQueueWorker {
127
130
  if (this.running)
128
131
  return this.running;
129
132
  this.stopping = false;
130
- this.running = this.run().finally(() => {
133
+ this.running = this.run()
134
+ .catch((error) => {
135
+ this.reportError(error);
136
+ throw error;
137
+ })
138
+ .finally(() => {
131
139
  this.running = null;
132
140
  });
133
141
  return this.running;
@@ -192,17 +200,21 @@ export class RedisQueueWorker {
192
200
  try {
193
201
  job = this.queue.decode(entry.payload);
194
202
  }
195
- catch {
203
+ catch (error) {
204
+ this.reportError(error);
196
205
  await this.queue.redis.eval(REQUEUE_FAILED_SCRIPT, {
197
206
  keys: [this.queue.streamKey, this.queue.deadLetterKey],
198
207
  arguments: [this.group, entry.id, entry.payload],
199
208
  });
200
209
  return;
201
210
  }
211
+ const context = toJobContext(job);
212
+ this.notifyJobStart(context);
202
213
  try {
203
214
  await this.handler(job);
204
215
  }
205
- catch (_error) {
216
+ catch (error) {
217
+ this.notifyJobFailure(context, error);
206
218
  const retry = { ...job, attempts: job.attempts + 1 };
207
219
  const target = retry.attempts >= this.queue.attempts
208
220
  ? this.queue.deadLetterKey
@@ -211,9 +223,48 @@ export class RedisQueueWorker {
211
223
  keys: [this.queue.streamKey, target],
212
224
  arguments: [this.group, entry.id, this.encodeRetry(retry)],
213
225
  });
226
+ if (target === this.queue.deadLetterKey)
227
+ this.notifyDeadLetter(toJobContext(retry), error);
214
228
  return;
215
229
  }
216
230
  await this.queue.redis.execute(["XACK", this.queue.streamKey, this.group, entry.id]);
231
+ this.notifyJobComplete(context);
232
+ }
233
+ notifyJobStart(job) {
234
+ try {
235
+ this.hooks?.onJobStart?.(job);
236
+ }
237
+ catch (error) {
238
+ this.reportError(error);
239
+ }
240
+ }
241
+ notifyJobComplete(job) {
242
+ try {
243
+ this.hooks?.onJobComplete?.(job);
244
+ }
245
+ catch (error) {
246
+ this.reportError(error);
247
+ }
248
+ }
249
+ notifyJobFailure(job, error) {
250
+ const failure = asError(error);
251
+ try {
252
+ this.hooks?.onJobFailure?.(job, failure);
253
+ }
254
+ catch (hookError) {
255
+ this.reportError(hookError);
256
+ }
257
+ }
258
+ notifyDeadLetter(job, error) {
259
+ try {
260
+ this.hooks?.onDeadLetter?.(job, error === undefined ? undefined : asError(error));
261
+ }
262
+ catch (hookError) {
263
+ this.reportError(hookError);
264
+ }
265
+ }
266
+ reportError(error) {
267
+ notifyError(this.hooks?.onError, error);
217
268
  }
218
269
  encodeRetry(job) {
219
270
  return JSON.stringify({
@@ -228,29 +279,121 @@ const ENSURE_GROUP_SCRIPT = `local groups = redis.pcall("XINFO", "GROUPS", KEYS[
228
279
  const PROMOTE_DUE_SCRIPT = `local due = redis.call("ZRANGEBYSCORE", KEYS[1], "-inf", ARGV[1], "LIMIT", 0, ARGV[2]) for _, payload in ipairs(due) do redis.call("XADD", KEYS[2], "*", "payload", payload) redis.call("ZREM", KEYS[1], payload) end return #due`;
229
280
  const REQUEUE_FAILED_SCRIPT = `redis.call("XADD", KEYS[2], "*", "payload", ARGV[3]) redis.call("XACK", KEYS[1], ARGV[1], ARGV[2]) return 1`;
230
281
  function parseStreamResponse(value) {
231
- if (!Array.isArray(value) || value.length === 0)
232
- return [];
233
- const streams = value[0];
234
- if (!Array.isArray(streams) || !Array.isArray(streams[1]))
235
- return [];
236
282
  const result = [];
237
- for (const rawEntry of streams[1]) {
238
- if (!Array.isArray(rawEntry) ||
239
- typeof rawEntry[0] !== "string" ||
240
- !Array.isArray(rawEntry[1]))
283
+ const streams = toPairs(value);
284
+ for (const [streamName, rawEntries] of streams) {
285
+ if (keyString(streamName) === undefined)
241
286
  continue;
242
- const fields = rawEntry[1];
243
- const payloadIndex = fields.indexOf("payload");
244
- const payload = payloadIndex >= 0 ? fields[payloadIndex + 1] : undefined;
245
- if (typeof payload === "string")
246
- result.push({ id: rawEntry[0], payload });
287
+ for (const rawEntry of toEntries(rawEntries)) {
288
+ const [id, rawFields] = toEntry(rawEntry);
289
+ if (!id)
290
+ continue;
291
+ const payload = getField(rawFields, "payload");
292
+ if (typeof payload === "string")
293
+ result.push({ id, payload });
294
+ }
247
295
  }
248
296
  return result;
249
297
  }
250
298
  function parseAutoClaimResponse(value) {
251
- if (!Array.isArray(value) || !Array.isArray(value[1]))
252
- return [];
253
- return parseStreamResponse([["recovered", value[1]]]);
299
+ if (Array.isArray(value) && Array.isArray(value[1]))
300
+ return parseStreamResponse([["recovered", value[1]]]);
301
+ if (isRecord(value) && Array.isArray(value.messages))
302
+ return parseStreamResponse([["recovered", value.messages]]);
303
+ return [];
304
+ }
305
+ function toPairs(value) {
306
+ if (value instanceof Map)
307
+ return [...value.entries()];
308
+ if (Array.isArray(value)) {
309
+ if (value.length >= 2 && keyString(value[0]) !== undefined) {
310
+ const pairs = [];
311
+ for (let index = 0; index + 1 < value.length; index += 2)
312
+ pairs.push([value[index], value[index + 1]]);
313
+ return pairs;
314
+ }
315
+ return value.flatMap((entry) => {
316
+ if (Array.isArray(entry) && entry.length >= 2)
317
+ return [[entry[0], entry[1]]];
318
+ if (isRecord(entry)) {
319
+ const streamName = entry.name ?? entry.stream;
320
+ const entries = entry.messages ?? entry.entries;
321
+ if (streamName !== undefined && entries !== undefined)
322
+ return [[streamName, entries]];
323
+ }
324
+ return [];
325
+ });
326
+ }
327
+ if (isRecord(value)) {
328
+ if (Array.isArray(value.streams))
329
+ return toPairs(value.streams);
330
+ if (Array.isArray(value.messages))
331
+ return [[value.stream ?? "stream", value.messages]];
332
+ return Object.entries(value);
333
+ }
334
+ return [];
335
+ }
336
+ function toEntries(value) {
337
+ if (Array.isArray(value)) {
338
+ if (value.length >= 2 &&
339
+ keyString(value[0]) !== undefined &&
340
+ !Array.isArray(value[0])) {
341
+ const entries = [];
342
+ for (let index = 0; index + 1 < value.length; index += 2)
343
+ entries.push([value[index], value[index + 1]]);
344
+ return entries;
345
+ }
346
+ return value;
347
+ }
348
+ if (value instanceof Map)
349
+ return [...value.entries()];
350
+ if (isRecord(value)) {
351
+ if (Array.isArray(value.messages))
352
+ return value.messages;
353
+ if (Array.isArray(value.entries))
354
+ return value.entries;
355
+ }
356
+ return [];
357
+ }
358
+ function toEntry(value) {
359
+ if (Array.isArray(value))
360
+ return [keyString(value[0]), value[1]];
361
+ if (value instanceof Map) {
362
+ const [id, fields] = value.entries().next().value ?? [];
363
+ return [keyString(id), fields];
364
+ }
365
+ if (isRecord(value)) {
366
+ const id = value.id;
367
+ return [keyString(id), value.message ?? value.fields];
368
+ }
369
+ return [undefined, undefined];
370
+ }
371
+ function getField(fields, name) {
372
+ if (fields instanceof Map) {
373
+ for (const [key, value] of fields) {
374
+ if (keyString(key) === name)
375
+ return value;
376
+ }
377
+ return undefined;
378
+ }
379
+ if (Array.isArray(fields)) {
380
+ const index = fields.findIndex((key) => keyString(key) === name);
381
+ return index < 0 ? undefined : fields[index + 1];
382
+ }
383
+ return isRecord(fields) ? fields[name] : undefined;
384
+ }
385
+ function keyString(value) {
386
+ if (typeof value === "string")
387
+ return value;
388
+ if (value instanceof Uint8Array)
389
+ return new TextDecoder().decode(value);
390
+ return undefined;
391
+ }
392
+ function isRecord(value) {
393
+ return typeof value === "object" && value !== null && !Array.isArray(value);
394
+ }
395
+ function toJobContext(job) {
396
+ return { id: job.id, attempts: job.attempts, enqueuedAt: job.enqueuedAt };
254
397
  }
255
398
  export function createQueue(options) {
256
399
  return new RedisQueue(options);
@@ -1 +1 @@
1
- {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/queue/queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/queue/queue.ts"],"names":[],"mappings":"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"}
package/docs/queues.md CHANGED
@@ -11,3 +11,19 @@ side effects.
11
11
 
12
12
  Use a pool when workers need blocking reads or concurrent command execution. Keep queue
13
13
  names and prefixes stable during rolling deployments.
14
+
15
+ Workers accept metadata-only lifecycle hooks through `QueueWorkerOptions.hooks`:
16
+
17
+ ```ts
18
+ queue.worker(handleJob, {
19
+ hooks: {
20
+ onJobStart: ({ id, attempts }) => metrics.increment("queue.started", { id, attempts }),
21
+ onJobFailure: ({ id }, error) => reportJobFailure(id, error),
22
+ onDeadLetter: ({ id }) => metrics.increment("queue.dead_letter", { id }),
23
+ onError: (error) => reportInfrastructureError(error),
24
+ },
25
+ });
26
+ ```
27
+
28
+ Hooks receive job identifiers and counters, never the job payload. Observer exceptions
29
+ are isolated from queue processing, and the package does not write to the console.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mhbdev/redis",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
4
4
  "description": "Typed, production-ready Redis infrastructure for Node.js and Bun.",
5
5
  "license": "MIT",
6
6
  "type": "module",