flashq 0.3.4 → 0.3.6

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.
Files changed (51) hide show
  1. package/dist/client/connection.d.ts +3 -1
  2. package/dist/client/connection.d.ts.map +1 -1
  3. package/dist/client/connection.js +18 -15
  4. package/dist/client/connection.js.map +1 -1
  5. package/dist/client/index.d.ts +2 -0
  6. package/dist/client/index.d.ts.map +1 -1
  7. package/dist/client/index.js +4 -0
  8. package/dist/client/index.js.map +1 -1
  9. package/dist/client/methods/core.d.ts.map +1 -1
  10. package/dist/client/methods/core.js +22 -79
  11. package/dist/client/methods/core.js.map +1 -1
  12. package/dist/client/methods/jobs.d.ts +18 -0
  13. package/dist/client/methods/jobs.d.ts.map +1 -1
  14. package/dist/client/methods/jobs.js +29 -2
  15. package/dist/client/methods/jobs.js.map +1 -1
  16. package/dist/client/reconnect.d.ts.map +1 -1
  17. package/dist/client/reconnect.js +4 -1
  18. package/dist/client/reconnect.js.map +1 -1
  19. package/dist/client/tcp/handler.d.ts +44 -4
  20. package/dist/client/tcp/handler.d.ts.map +1 -1
  21. package/dist/client/tcp/handler.js +76 -10
  22. package/dist/client/tcp/handler.js.map +1 -1
  23. package/dist/client/tcp/index.d.ts +1 -1
  24. package/dist/client/tcp/index.d.ts.map +1 -1
  25. package/dist/client/tcp/index.js +2 -1
  26. package/dist/client/tcp/index.js.map +1 -1
  27. package/dist/client/validation.d.ts +43 -0
  28. package/dist/client/validation.d.ts.map +1 -1
  29. package/dist/client/validation.js +43 -2
  30. package/dist/client/validation.js.map +1 -1
  31. package/dist/constants.d.ts +67 -0
  32. package/dist/constants.d.ts.map +1 -0
  33. package/dist/constants.js +79 -0
  34. package/dist/constants.js.map +1 -0
  35. package/dist/index.d.ts +5 -3
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +37 -1
  38. package/dist/index.js.map +1 -1
  39. package/dist/queue.d.ts +16 -1
  40. package/dist/queue.d.ts.map +1 -1
  41. package/dist/queue.js +3 -0
  42. package/dist/queue.js.map +1 -1
  43. package/dist/utils/retry.d.ts +1 -1
  44. package/dist/utils/retry.d.ts.map +1 -1
  45. package/dist/utils/retry.js +11 -10
  46. package/dist/utils/retry.js.map +1 -1
  47. package/dist/worker.d.ts +54 -3
  48. package/dist/worker.d.ts.map +1 -1
  49. package/dist/worker.js +40 -32
  50. package/dist/worker.js.map +1 -1
  51. package/package.json +1 -1
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ /**
3
+ * SDK Constants
4
+ *
5
+ * Centralized configuration constants to avoid magic numbers
6
+ * and ensure consistency across the codebase.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.DEFAULT_HOST = exports.DEFAULT_HTTP_PORT = exports.DEFAULT_TCP_PORT = exports.DEFAULT_STALL_TIMEOUT = exports.DEFAULT_JOB_PRIORITY = exports.DEFAULT_MAX_QUEUED_REQUESTS = exports.DEFAULT_COMPRESSION_THRESHOLD = exports.DEFAULT_COMPRESSION_ENABLED = exports.RETRY_JITTER_FACTOR = exports.DEFAULT_BACKOFF_MULTIPLIER = exports.DEFAULT_RETRY_MAX_DELAY = exports.DEFAULT_RETRY_INITIAL_DELAY = exports.DEFAULT_RETRY_MAX_ATTEMPTS = exports.RECONNECT_JITTER_FACTOR = exports.DEFAULT_MAX_RECONNECT_ATTEMPTS = exports.DEFAULT_MAX_RECONNECT_DELAY = exports.DEFAULT_RECONNECT_DELAY = exports.WORKER_JOB_CHECK_INTERVAL = exports.DEFAULT_CLOSE_TIMEOUT = exports.WORKER_ERROR_RETRY_DELAY = exports.WORKER_PULL_TIMEOUT = exports.DEFAULT_WORKER_BATCH_SIZE = exports.DEFAULT_WORKER_CONCURRENCY = exports.DEFAULT_FINISHED_TIMEOUT = exports.CLIENT_TIMEOUT_BUFFER = exports.DEFAULT_PULL_TIMEOUT = exports.DEFAULT_CONNECTION_TIMEOUT = exports.MAX_QUEUE_NAME_LENGTH = exports.MAX_BATCH_SIZE = exports.MAX_JOB_DATA_SIZE = void 0;
10
+ // ============== Validation Limits ==============
11
+ /** Maximum allowed job data size in bytes (1MB) */
12
+ exports.MAX_JOB_DATA_SIZE = 1024 * 1024;
13
+ /** Maximum number of jobs per batch operation */
14
+ exports.MAX_BATCH_SIZE = 1000;
15
+ /** Maximum queue name length */
16
+ exports.MAX_QUEUE_NAME_LENGTH = 256;
17
+ // ============== Timeouts ==============
18
+ /** Default connection timeout in ms */
19
+ exports.DEFAULT_CONNECTION_TIMEOUT = 5000;
20
+ /** Default server-side pull timeout in ms */
21
+ exports.DEFAULT_PULL_TIMEOUT = 60000;
22
+ /** Additional client timeout buffer over server timeout */
23
+ exports.CLIENT_TIMEOUT_BUFFER = 5000;
24
+ /** Default job completion wait timeout in ms */
25
+ exports.DEFAULT_FINISHED_TIMEOUT = 30000;
26
+ // ============== Worker Defaults ==============
27
+ /** Default worker concurrency */
28
+ exports.DEFAULT_WORKER_CONCURRENCY = 10;
29
+ /** Default worker batch size */
30
+ exports.DEFAULT_WORKER_BATCH_SIZE = 100;
31
+ /** Worker pull timeout for responsive shutdown (ms) */
32
+ exports.WORKER_PULL_TIMEOUT = 500;
33
+ /** Worker error retry delay (ms) */
34
+ exports.WORKER_ERROR_RETRY_DELAY = 1000;
35
+ /** Default graceful shutdown timeout (ms) */
36
+ exports.DEFAULT_CLOSE_TIMEOUT = 30000;
37
+ /** Worker job completion check interval (ms) */
38
+ exports.WORKER_JOB_CHECK_INTERVAL = 50;
39
+ // ============== Reconnection ==============
40
+ /** Default initial reconnect delay in ms */
41
+ exports.DEFAULT_RECONNECT_DELAY = 1000;
42
+ /** Default max reconnect delay in ms */
43
+ exports.DEFAULT_MAX_RECONNECT_DELAY = 30000;
44
+ /** Default max reconnect attempts (0 = infinite) */
45
+ exports.DEFAULT_MAX_RECONNECT_ATTEMPTS = 10;
46
+ /** Reconnect jitter factor (0.3 = 30% of base delay) */
47
+ exports.RECONNECT_JITTER_FACTOR = 0.3;
48
+ // ============== Retry ==============
49
+ /** Default retry max attempts */
50
+ exports.DEFAULT_RETRY_MAX_ATTEMPTS = 3;
51
+ /** Default retry initial delay in ms */
52
+ exports.DEFAULT_RETRY_INITIAL_DELAY = 100;
53
+ /** Default retry max delay in ms */
54
+ exports.DEFAULT_RETRY_MAX_DELAY = 5000;
55
+ /** Default backoff multiplier */
56
+ exports.DEFAULT_BACKOFF_MULTIPLIER = 2;
57
+ /** Jitter range factor (0.25 = ±25%) */
58
+ exports.RETRY_JITTER_FACTOR = 0.25;
59
+ // ============== Compression ==============
60
+ /** Default compression enabled state */
61
+ exports.DEFAULT_COMPRESSION_ENABLED = false;
62
+ /** Default minimum payload size to compress in bytes */
63
+ exports.DEFAULT_COMPRESSION_THRESHOLD = 1024;
64
+ // ============== Request Queue ==============
65
+ /** Default max queued requests during disconnect */
66
+ exports.DEFAULT_MAX_QUEUED_REQUESTS = 100;
67
+ // ============== Job Defaults ==============
68
+ /** Default job priority */
69
+ exports.DEFAULT_JOB_PRIORITY = 0;
70
+ /** Default stall detection timeout in ms */
71
+ exports.DEFAULT_STALL_TIMEOUT = 30000;
72
+ // ============== Ports ==============
73
+ /** Default TCP port */
74
+ exports.DEFAULT_TCP_PORT = 6789;
75
+ /** Default HTTP port */
76
+ exports.DEFAULT_HTTP_PORT = 6790;
77
+ /** Default host */
78
+ exports.DEFAULT_HOST = 'localhost';
79
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,kDAAkD;AAElD,mDAAmD;AACtC,QAAA,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC;AAE7C,iDAAiD;AACpC,QAAA,cAAc,GAAG,IAAI,CAAC;AAEnC,gCAAgC;AACnB,QAAA,qBAAqB,GAAG,GAAG,CAAC;AAEzC,yCAAyC;AAEzC,uCAAuC;AAC1B,QAAA,0BAA0B,GAAG,IAAI,CAAC;AAE/C,6CAA6C;AAChC,QAAA,oBAAoB,GAAG,KAAK,CAAC;AAE1C,2DAA2D;AAC9C,QAAA,qBAAqB,GAAG,IAAI,CAAC;AAE1C,gDAAgD;AACnC,QAAA,wBAAwB,GAAG,KAAK,CAAC;AAE9C,gDAAgD;AAEhD,iCAAiC;AACpB,QAAA,0BAA0B,GAAG,EAAE,CAAC;AAE7C,gCAAgC;AACnB,QAAA,yBAAyB,GAAG,GAAG,CAAC;AAE7C,uDAAuD;AAC1C,QAAA,mBAAmB,GAAG,GAAG,CAAC;AAEvC,oCAAoC;AACvB,QAAA,wBAAwB,GAAG,IAAI,CAAC;AAE7C,6CAA6C;AAChC,QAAA,qBAAqB,GAAG,KAAK,CAAC;AAE3C,gDAAgD;AACnC,QAAA,yBAAyB,GAAG,EAAE,CAAC;AAE5C,6CAA6C;AAE7C,4CAA4C;AAC/B,QAAA,uBAAuB,GAAG,IAAI,CAAC;AAE5C,wCAAwC;AAC3B,QAAA,2BAA2B,GAAG,KAAK,CAAC;AAEjD,oDAAoD;AACvC,QAAA,8BAA8B,GAAG,EAAE,CAAC;AAEjD,wDAAwD;AAC3C,QAAA,uBAAuB,GAAG,GAAG,CAAC;AAE3C,sCAAsC;AAEtC,iCAAiC;AACpB,QAAA,0BAA0B,GAAG,CAAC,CAAC;AAE5C,wCAAwC;AAC3B,QAAA,2BAA2B,GAAG,GAAG,CAAC;AAE/C,oCAAoC;AACvB,QAAA,uBAAuB,GAAG,IAAI,CAAC;AAE5C,iCAAiC;AACpB,QAAA,0BAA0B,GAAG,CAAC,CAAC;AAE5C,wCAAwC;AAC3B,QAAA,mBAAmB,GAAG,IAAI,CAAC;AAExC,4CAA4C;AAE5C,wCAAwC;AAC3B,QAAA,2BAA2B,GAAG,KAAK,CAAC;AAEjD,wDAAwD;AAC3C,QAAA,6BAA6B,GAAG,IAAI,CAAC;AAElD,8CAA8C;AAE9C,oDAAoD;AACvC,QAAA,2BAA2B,GAAG,GAAG,CAAC;AAE/C,6CAA6C;AAE7C,2BAA2B;AACd,QAAA,oBAAoB,GAAG,CAAC,CAAC;AAEtC,4CAA4C;AAC/B,QAAA,qBAAqB,GAAG,KAAK,CAAC;AAE3C,sCAAsC;AAEtC,uBAAuB;AACV,QAAA,gBAAgB,GAAG,IAAI,CAAC;AAErC,wBAAwB;AACX,QAAA,iBAAiB,GAAG,IAAI,CAAC;AAEtC,mBAAmB;AACN,QAAA,YAAY,GAAG,WAAW,CAAC"}
package/dist/index.d.ts CHANGED
@@ -19,12 +19,14 @@
19
19
  * @packageDocumentation
20
20
  */
21
21
  export { Queue } from './queue';
22
- export type { QueueOptions, JobOptions } from './queue';
22
+ export type { QueueOptions, JobOptions, JobReference } from './queue';
23
23
  export { Worker } from './worker';
24
- export type { BullMQWorkerOptions } from './worker';
24
+ export type { BullMQWorkerOptions, WorkerEvents, TypedWorkerEmitter } from './worker';
25
25
  export { FlashQ, FlashQ as default } from './client';
26
26
  export { MAX_BATCH_SIZE, MAX_JOB_DATA_SIZE } from './client/methods/core';
27
- export { validateQueueName, validateJobDataSize } from './client/connection';
27
+ export { validateQueueName, validateJobDataSize, mapJobToPayload } from './client/connection';
28
+ export type { JobPayload } from './client/connection';
29
+ export * as Constants from './constants';
28
30
  export { EventSubscriber } from './events';
29
31
  export { FlashQError, ConnectionError, AuthenticationError, TimeoutError, ValidationError, ServerError, JobNotFoundError, QueueNotFoundError, DuplicateJobError, QueuePausedError, RateLimitError, ConcurrencyLimitError, BatchError, Errors, } from './errors';
30
32
  export { withRetry, retryable, isRetryable, RetryPresets } from './utils/retry';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAExD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAGpD,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAGrD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG7E,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,OAAO,EACL,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,MAAM,GACP,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAChF,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGlD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAClF,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGpF,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClF,YAAY,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,eAAe,EACf,eAAe,EACf,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,SAAS,CAAC;AAGjB,YAAY,EACV,GAAG,EACH,QAAQ,EACR,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,eAAe,GAChB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEtE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,mBAAmB,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGtF,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAGrD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC9F,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,OAAO,EACL,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,MAAM,GACP,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAChF,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGlD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAClF,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGpF,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClF,YAAY,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,eAAe,EACf,eAAe,EACf,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,SAAS,CAAC;AAGjB,YAAY,EACV,GAAG,EACH,QAAQ,EACR,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,eAAe,GAChB,MAAM,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -19,8 +19,41 @@
19
19
  *
20
20
  * @packageDocumentation
21
21
  */
22
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
23
+ if (k2 === undefined) k2 = k;
24
+ var desc = Object.getOwnPropertyDescriptor(m, k);
25
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
26
+ desc = { enumerable: true, get: function() { return m[k]; } };
27
+ }
28
+ Object.defineProperty(o, k2, desc);
29
+ }) : (function(o, m, k, k2) {
30
+ if (k2 === undefined) k2 = k;
31
+ o[k2] = m[k];
32
+ }));
33
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
34
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
35
+ }) : function(o, v) {
36
+ o["default"] = v;
37
+ });
38
+ var __importStar = (this && this.__importStar) || (function () {
39
+ var ownKeys = function(o) {
40
+ ownKeys = Object.getOwnPropertyNames || function (o) {
41
+ var ar = [];
42
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
43
+ return ar;
44
+ };
45
+ return ownKeys(o);
46
+ };
47
+ return function (mod) {
48
+ if (mod && mod.__esModule) return mod;
49
+ var result = {};
50
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
51
+ __setModuleDefault(result, mod);
52
+ return result;
53
+ };
54
+ })();
22
55
  Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.getDuration = exports.createHookContext = exports.callErrorHook = exports.callHook = exports.setGlobalLogger = exports.getLogger = exports.createLogger = exports.Logger = exports.RetryPresets = exports.isRetryable = exports.retryable = exports.withRetry = exports.Errors = exports.BatchError = exports.ConcurrencyLimitError = exports.RateLimitError = exports.QueuePausedError = exports.DuplicateJobError = exports.QueueNotFoundError = exports.JobNotFoundError = exports.ServerError = exports.ValidationError = exports.TimeoutError = exports.AuthenticationError = exports.ConnectionError = exports.FlashQError = exports.EventSubscriber = exports.validateJobDataSize = exports.validateQueueName = exports.MAX_JOB_DATA_SIZE = exports.MAX_BATCH_SIZE = exports.default = exports.FlashQ = exports.Worker = exports.Queue = void 0;
56
+ exports.getDuration = exports.createHookContext = exports.callErrorHook = exports.callHook = exports.setGlobalLogger = exports.getLogger = exports.createLogger = exports.Logger = exports.RetryPresets = exports.isRetryable = exports.retryable = exports.withRetry = exports.Errors = exports.BatchError = exports.ConcurrencyLimitError = exports.RateLimitError = exports.QueuePausedError = exports.DuplicateJobError = exports.QueueNotFoundError = exports.JobNotFoundError = exports.ServerError = exports.ValidationError = exports.TimeoutError = exports.AuthenticationError = exports.ConnectionError = exports.FlashQError = exports.EventSubscriber = exports.Constants = exports.mapJobToPayload = exports.validateJobDataSize = exports.validateQueueName = exports.MAX_JOB_DATA_SIZE = exports.MAX_BATCH_SIZE = exports.default = exports.FlashQ = exports.Worker = exports.Queue = void 0;
24
57
  // BullMQ-compatible API
25
58
  var queue_1 = require("./queue");
26
59
  Object.defineProperty(exports, "Queue", { enumerable: true, get: function () { return queue_1.Queue; } });
@@ -37,6 +70,9 @@ Object.defineProperty(exports, "MAX_JOB_DATA_SIZE", { enumerable: true, get: fun
37
70
  var connection_1 = require("./client/connection");
38
71
  Object.defineProperty(exports, "validateQueueName", { enumerable: true, get: function () { return connection_1.validateQueueName; } });
39
72
  Object.defineProperty(exports, "validateJobDataSize", { enumerable: true, get: function () { return connection_1.validateJobDataSize; } });
73
+ Object.defineProperty(exports, "mapJobToPayload", { enumerable: true, get: function () { return connection_1.mapJobToPayload; } });
74
+ // All constants for advanced configuration
75
+ exports.Constants = __importStar(require("./constants"));
40
76
  // Optional: Real-time events
41
77
  var events_1 = require("./events");
42
78
  Object.defineProperty(exports, "EventSubscriber", { enumerable: true, get: function () { return events_1.EventSubscriber; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;AAEH,wBAAwB;AACxB,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AAGd,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AAGf,gBAAgB;AAChB,mCAAqD;AAA5C,gGAAA,MAAM,OAAA;AAAE,iGAAA,MAAM,OAAW;AAElC,qCAAqC;AACrC,8CAA0E;AAAjE,sGAAA,cAAc,OAAA;AAAE,yGAAA,iBAAiB,OAAA;AAC1C,kDAA6E;AAApE,+GAAA,iBAAiB,OAAA;AAAE,iHAAA,mBAAmB,OAAA;AAE/C,6BAA6B;AAC7B,mCAA2C;AAAlC,yGAAA,eAAe,OAAA;AAExB,SAAS;AACT,mCAekB;AAdhB,qGAAA,WAAW,OAAA;AACX,yGAAA,eAAe,OAAA;AACf,6GAAA,mBAAmB,OAAA;AACnB,sGAAA,YAAY,OAAA;AACZ,yGAAA,eAAe,OAAA;AACf,qGAAA,WAAW,OAAA;AACX,0GAAA,gBAAgB,OAAA;AAChB,4GAAA,kBAAkB,OAAA;AAClB,2GAAA,iBAAiB,OAAA;AACjB,0GAAA,gBAAgB,OAAA;AAChB,wGAAA,cAAc,OAAA;AACd,+GAAA,qBAAqB,OAAA;AACrB,oGAAA,UAAU,OAAA;AACV,gGAAA,MAAM,OAAA;AAGR,kBAAkB;AAClB,uCAAgF;AAAvE,kGAAA,SAAS,OAAA;AAAE,kGAAA,SAAS,OAAA;AAAE,oGAAA,WAAW,OAAA;AAAE,qGAAA,YAAY,OAAA;AAGxD,mBAAmB;AACnB,yCAAkF;AAAzE,gGAAA,MAAM,OAAA;AAAE,sGAAA,YAAY,OAAA;AAAE,mGAAA,SAAS,OAAA;AAAE,yGAAA,eAAe,OAAA;AAGzD,gDAAgD;AAChD,iCAAkF;AAAzE,iGAAA,QAAQ,OAAA;AAAE,sGAAA,aAAa,OAAA;AAAE,0GAAA,iBAAiB,OAAA;AAAE,oGAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,wBAAwB;AACxB,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AAGd,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AAGf,gBAAgB;AAChB,mCAAqD;AAA5C,gGAAA,MAAM,OAAA;AAAE,iGAAA,MAAM,OAAW;AAElC,qCAAqC;AACrC,8CAA0E;AAAjE,sGAAA,cAAc,OAAA;AAAE,yGAAA,iBAAiB,OAAA;AAC1C,kDAA8F;AAArF,+GAAA,iBAAiB,OAAA;AAAE,iHAAA,mBAAmB,OAAA;AAAE,6GAAA,eAAe,OAAA;AAGhE,2CAA2C;AAC3C,yDAAyC;AAEzC,6BAA6B;AAC7B,mCAA2C;AAAlC,yGAAA,eAAe,OAAA;AAExB,SAAS;AACT,mCAekB;AAdhB,qGAAA,WAAW,OAAA;AACX,yGAAA,eAAe,OAAA;AACf,6GAAA,mBAAmB,OAAA;AACnB,sGAAA,YAAY,OAAA;AACZ,yGAAA,eAAe,OAAA;AACf,qGAAA,WAAW,OAAA;AACX,0GAAA,gBAAgB,OAAA;AAChB,4GAAA,kBAAkB,OAAA;AAClB,2GAAA,iBAAiB,OAAA;AACjB,0GAAA,gBAAgB,OAAA;AAChB,wGAAA,cAAc,OAAA;AACd,+GAAA,qBAAqB,OAAA;AACrB,oGAAA,UAAU,OAAA;AACV,gGAAA,MAAM,OAAA;AAGR,kBAAkB;AAClB,uCAAgF;AAAvE,kGAAA,SAAS,OAAA;AAAE,kGAAA,SAAS,OAAA;AAAE,oGAAA,WAAW,OAAA;AAAE,qGAAA,YAAY,OAAA;AAGxD,mBAAmB;AACnB,yCAAkF;AAAzE,gGAAA,MAAM,OAAA;AAAE,sGAAA,YAAY,OAAA;AAAE,mGAAA,SAAS,OAAA;AAAE,yGAAA,eAAe,OAAA;AAGzD,gDAAgD;AAChD,iCAAkF;AAAzE,iGAAA,QAAQ,OAAA;AAAE,sGAAA,aAAa,OAAA;AAAE,0GAAA,iBAAiB,OAAA;AAAE,oGAAA,WAAW,OAAA"}
package/dist/queue.d.ts CHANGED
@@ -1,4 +1,16 @@
1
1
  import type { Job, ClientOptions } from './types';
2
+ /**
3
+ * Minimal job reference returned from bulk operations.
4
+ * Contains only the essential fields available immediately after creation.
5
+ */
6
+ export interface JobReference<T = unknown> {
7
+ /** Server-assigned job ID */
8
+ id: number;
9
+ /** Queue name */
10
+ queue: string;
11
+ /** Original job data */
12
+ data: T;
13
+ }
2
14
  export interface QueueOptions extends ClientOptions {
3
15
  /** Default job options for all jobs in this queue */
4
16
  defaultJobOptions?: JobOptions;
@@ -58,12 +70,15 @@ export declare class Queue<T = unknown> {
58
70
  add(name: string, data: T, options?: JobOptions): Promise<Job<T>>;
59
71
  /**
60
72
  * Add multiple jobs (BullMQ-compatible)
73
+ *
74
+ * @returns Array of job references with id, queue, and data.
75
+ * Use getJob() if you need full job details.
61
76
  */
62
77
  addBulk(jobs: Array<{
63
78
  name: string;
64
79
  data: T;
65
80
  opts?: JobOptions;
66
- }>): Promise<Job<T>[]>;
81
+ }>): Promise<JobReference<T>[]>;
67
82
  /**
68
83
  * Get a job by ID
69
84
  */
@@ -1 +1 @@
1
- {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"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"}
package/dist/queue.js CHANGED
@@ -63,6 +63,9 @@ class Queue {
63
63
  }
64
64
  /**
65
65
  * Add multiple jobs (BullMQ-compatible)
66
+ *
67
+ * @returns Array of job references with id, queue, and data.
68
+ * Use getJob() if you need full job details.
66
69
  */
67
70
  async addBulk(jobs) {
68
71
  const flashqJobs = jobs.map((job) => {
package/dist/queue.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"queue.js","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queue.js","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"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"}
@@ -60,7 +60,7 @@ export declare function retryable<TArgs extends unknown[], TResult>(fn: (...args
60
60
  export declare const RetryPresets: {
61
61
  /** Quick retries for interactive operations */
62
62
  fast: RetryOptions;
63
- /** Standard retries for most operations */
63
+ /** Standard retries for most operations (uses SDK defaults) */
64
64
  standard: RetryOptions;
65
65
  /** Aggressive retries for critical operations */
66
66
  aggressive: RetryOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/utils/retry.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,YAAY;IAC3B,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2CAA2C;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IACzD,6BAA6B;IAC7B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAClE;AAUD,qCAAqC;AACrC,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAsBjD;AAED,8DAA8D;AAC9D,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,CAAC,CAAC,GAC3E,MAAM,CAaR;AAOD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,CAuC/F;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,SAAS,CAAC,KAAK,SAAS,OAAO,EAAE,EAAE,OAAO,EACxD,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,EACxC,OAAO,GAAE,YAAiB,GACzB,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,CAEtC;AAED;;GAEG;AACH,eAAO,MAAM,YAAY;IACvB,+CAA+C;UAK1C,YAAY;IAEjB,2CAA2C;cAKtC,YAAY;IAEjB,iDAAiD;gBAK5C,YAAY;IAEjB,iBAAiB;UAGZ,YAAY;CAClB,CAAC"}
1
+ {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/utils/retry.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,YAAY;IAC3B,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2CAA2C;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IACzD,6BAA6B;IAC7B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAClE;AAUD,qCAAqC;AACrC,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAsBjD;AAED,8DAA8D;AAC9D,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,CAAC,CAAC,GAC3E,MAAM,CAaR;AAOD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,CAuC/F;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,SAAS,CAAC,KAAK,SAAS,OAAO,EAAE,EAAE,OAAO,EACxD,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,EACxC,OAAO,GAAE,YAAiB,GACzB,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,CAEtC;AAED;;GAEG;AACH,eAAO,MAAM,YAAY;IACvB,+CAA+C;UAK1C,YAAY;IAEjB,+DAA+D;cAK1D,YAAY;IAEjB,iDAAiD;gBAK5C,YAAY;IAEjB,iBAAiB;UAGZ,YAAY;CAClB,CAAC"}
@@ -9,11 +9,12 @@ exports.retryable = retryable;
9
9
  * Retry utility for automatic retries on transient failures
10
10
  */
11
11
  const errors_1 = require("../errors");
12
+ const constants_1 = require("../constants");
12
13
  const DEFAULT_OPTIONS = {
13
- maxRetries: 3,
14
- initialDelay: 100,
15
- maxDelay: 5000,
16
- backoffMultiplier: 2,
14
+ maxRetries: constants_1.DEFAULT_RETRY_MAX_ATTEMPTS,
15
+ initialDelay: constants_1.DEFAULT_RETRY_INITIAL_DELAY,
16
+ maxDelay: constants_1.DEFAULT_RETRY_MAX_DELAY,
17
+ backoffMultiplier: constants_1.DEFAULT_BACKOFF_MULTIPLIER,
17
18
  jitter: true,
18
19
  };
19
20
  /** Check if an error is retryable */
@@ -42,8 +43,8 @@ function isRetryable(error) {
42
43
  function calculateDelay(attempt, options) {
43
44
  const delay = Math.min(options.initialDelay * Math.pow(options.backoffMultiplier, attempt - 1), options.maxDelay);
44
45
  if (options.jitter) {
45
- // Add ±25% jitter
46
- const jitterRange = delay * 0.25;
46
+ // Add ±RETRY_JITTER_FACTOR jitter (default: ±25%)
47
+ const jitterRange = delay * constants_1.RETRY_JITTER_FACTOR;
47
48
  return delay + (Math.random() * jitterRange * 2 - jitterRange);
48
49
  }
49
50
  return delay;
@@ -129,11 +130,11 @@ exports.RetryPresets = {
129
130
  initialDelay: 50,
130
131
  maxDelay: 500,
131
132
  },
132
- /** Standard retries for most operations */
133
+ /** Standard retries for most operations (uses SDK defaults) */
133
134
  standard: {
134
- maxRetries: 3,
135
- initialDelay: 100,
136
- maxDelay: 5000,
135
+ maxRetries: constants_1.DEFAULT_RETRY_MAX_ATTEMPTS,
136
+ initialDelay: constants_1.DEFAULT_RETRY_INITIAL_DELAY,
137
+ maxDelay: constants_1.DEFAULT_RETRY_MAX_DELAY,
137
138
  },
138
139
  /** Aggressive retries for critical operations */
139
140
  aggressive: {
@@ -1 +1 @@
1
- {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/utils/retry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/utils/retry.ts"],"names":[],"mappings":"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"}
package/dist/worker.d.ts CHANGED
@@ -1,6 +1,52 @@
1
1
  import { EventEmitter } from 'events';
2
- import type { JobProcessor, WorkerOptions, ClientOptions } from './types';
2
+ import type { Job, JobProcessor, WorkerOptions, ClientOptions } from './types';
3
3
  import { type WorkerHooks } from './hooks';
4
+ /**
5
+ * Typed event map for Worker events.
6
+ * Use with worker.on() for type-safe event handling.
7
+ */
8
+ export interface WorkerEvents<T = unknown, R = unknown> {
9
+ /** Emitted when worker is ready to process jobs */
10
+ ready: [];
11
+ /** Emitted when a job starts processing */
12
+ active: [job: Job & {
13
+ data: T;
14
+ }, workerId: number];
15
+ /** Emitted when a job completes successfully */
16
+ completed: [job: Job & {
17
+ data: T;
18
+ }, result: R, workerId: number];
19
+ /** Emitted when a job fails */
20
+ failed: [job: Job & {
21
+ data: T;
22
+ }, error: Error, workerId: number];
23
+ /** Emitted when worker starts stopping */
24
+ stopping: [];
25
+ /** Emitted when worker has fully stopped */
26
+ stopped: [];
27
+ /** Emitted when all jobs are drained */
28
+ drained: [];
29
+ /** Emitted on worker errors (connection, timeout, etc.) */
30
+ error: [error: unknown];
31
+ /** Emitted during reconnection attempts */
32
+ reconnecting: [info: {
33
+ attempt: number;
34
+ delay: number;
35
+ }];
36
+ /** Emitted after successful reconnection */
37
+ reconnected: [];
38
+ }
39
+ /**
40
+ * Typed EventEmitter for Worker with proper event signatures.
41
+ */
42
+ export interface TypedWorkerEmitter<T = unknown, R = unknown> {
43
+ on<K extends keyof WorkerEvents<T, R>>(event: K, listener: (...args: WorkerEvents<T, R>[K]) => void): this;
44
+ once<K extends keyof WorkerEvents<T, R>>(event: K, listener: (...args: WorkerEvents<T, R>[K]) => void): this;
45
+ emit<K extends keyof WorkerEvents<T, R>>(event: K, ...args: WorkerEvents<T, R>[K]): boolean;
46
+ off<K extends keyof WorkerEvents<T, R>>(event: K, listener: (...args: WorkerEvents<T, R>[K]) => void): this;
47
+ removeListener<K extends keyof WorkerEvents<T, R>>(event: K, listener: (...args: WorkerEvents<T, R>[K]) => void): this;
48
+ removeAllListeners<K extends keyof WorkerEvents<T, R>>(event?: K): this;
49
+ }
4
50
  export interface BullMQWorkerOptions extends Omit<ClientOptions, 'hooks'>, WorkerOptions {
5
51
  /** Auto-start worker (BullMQ-compatible, default: true) */
6
52
  autorun?: boolean;
@@ -30,11 +76,16 @@ type WorkerState = 'idle' | 'starting' | 'running' | 'stopping' | 'stopped';
30
76
  * });
31
77
  * await worker.start();
32
78
  *
79
+ * // Type-safe event handling
80
+ * worker.on('completed', (job, result, workerId) => {
81
+ * console.log(`Job ${job.id} completed by worker ${workerId}:`, result);
82
+ * });
83
+ *
33
84
  * // Graceful shutdown
34
85
  * process.on('SIGTERM', () => worker.close());
35
86
  * ```
36
87
  */
37
- export declare class Worker<T = unknown, R = unknown> extends EventEmitter {
88
+ export declare class Worker<T = unknown, R = unknown> extends EventEmitter implements TypedWorkerEmitter<T, R> {
38
89
  private clients;
39
90
  private clientOptions;
40
91
  private queues;
@@ -48,7 +99,7 @@ export declare class Worker<T = unknown, R = unknown> extends EventEmitter {
48
99
  private stopPromise;
49
100
  private abortController;
50
101
  private workerHooks?;
51
- private log;
102
+ private logger;
52
103
  constructor(queues: string | string[], processor: JobProcessor<T, R>, options?: BullMQWorkerOptions);
53
104
  /**
54
105
  * Start processing jobs
@@ -1 +1 @@
1
- {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAAO,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/E,OAAO,EAIL,KAAK,WAAW,EAEjB,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,EAAE,aAAa;IACtF,2DAA2D;IAC3D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,KAAK,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,CAAE,SAAQ,YAAY;IAChE,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,OAAO,CAIb;IACF,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,WAAW,CAAC,CAAc;IAElC,OAAO,CAAC,GAAG;gBAYT,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EACzB,SAAS,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAC7B,OAAO,GAAE,mBAAwB;IA+BnC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAyBd,OAAO;IAoBrB;;;OAGG;IACG,KAAK,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC;;;OAGG;IACG,IAAI,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;YA2B1B,MAAM;IAmDpB;;;;OAIG;IACG,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBrD;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,QAAQ,IAAI,WAAW;IAIvB;;OAEG;IACH,kBAAkB,IAAI,MAAM;IAI5B;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAI1B;;OAEG;YACW,eAAe;IAuC7B;;OAEG;YACW,eAAe;YAwEf,UAAU;IAIxB,OAAO,CAAC,KAAK;IAIb;;;;OAIG;IACG,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAcvF;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
package/dist/worker.js CHANGED
@@ -4,6 +4,8 @@ exports.Worker = void 0;
4
4
  const events_1 = require("events");
5
5
  const client_1 = require("./client");
6
6
  const hooks_1 = require("./hooks");
7
+ const logger_1 = require("./utils/logger");
8
+ const constants_1 = require("./constants");
7
9
  /**
8
10
  * FlashQ Worker (BullMQ-compatible)
9
11
  *
@@ -22,6 +24,11 @@ const hooks_1 = require("./hooks");
22
24
  * });
23
25
  * await worker.start();
24
26
  *
27
+ * // Type-safe event handling
28
+ * worker.on('completed', (job, result, workerId) => {
29
+ * console.log(`Job ${job.id} completed by worker ${workerId}:`, result);
30
+ * });
31
+ *
25
32
  * // Graceful shutdown
26
33
  * process.on('SIGTERM', () => worker.close());
27
34
  * ```
@@ -40,31 +47,26 @@ class Worker extends events_1.EventEmitter {
40
47
  stopPromise = null;
41
48
  abortController = null;
42
49
  workerHooks;
43
- log(message, data) {
44
- if (!this.options.debug)
45
- return;
46
- const timestamp = new Date().toISOString();
47
- const prefix = `[flashQ Worker ${this.options.id} ${timestamp}]`;
48
- if (data !== undefined) {
49
- console.log(`${prefix} ${message}`, data);
50
- }
51
- else {
52
- console.log(`${prefix} ${message}`);
53
- }
54
- }
50
+ logger;
55
51
  constructor(queues, processor, options = {}) {
56
52
  super();
57
53
  this.queues = Array.isArray(queues) ? queues : [queues];
58
54
  this.processor = processor;
55
+ const workerId = options.id ?? `worker-${Date.now()}-${Math.random().toString(36).slice(2)}`;
59
56
  this.options = {
60
- id: options.id ?? `worker-${Date.now()}-${Math.random().toString(36).slice(2)}`,
61
- concurrency: options.concurrency ?? 10,
62
- batchSize: options.batchSize ?? 100,
57
+ id: workerId,
58
+ concurrency: options.concurrency ?? constants_1.DEFAULT_WORKER_CONCURRENCY,
59
+ batchSize: options.batchSize ?? constants_1.DEFAULT_WORKER_BATCH_SIZE,
63
60
  autoAck: options.autoAck ?? true,
64
61
  autorun: options.autorun ?? true,
65
62
  debug: options.debug ?? false,
66
- closeTimeout: options.closeTimeout ?? 30000,
63
+ closeTimeout: options.closeTimeout ?? constants_1.DEFAULT_CLOSE_TIMEOUT,
67
64
  };
65
+ // Initialize logger with worker-specific prefix
66
+ this.logger = new logger_1.Logger({
67
+ level: this.options.debug ? 'debug' : 'silent',
68
+ prefix: `flashQ:worker:${workerId}`,
69
+ });
68
70
  this.workerHooks = options.workerHooks;
69
71
  this.clientOptions = {
70
72
  host: options.host,
@@ -103,17 +105,20 @@ class Worker extends events_1.EventEmitter {
103
105
  }
104
106
  }
105
107
  async doStart() {
106
- this.log('Starting worker', { queues: this.queues, concurrency: this.options.concurrency });
108
+ this.logger.info('Starting worker', {
109
+ queues: this.queues,
110
+ concurrency: this.options.concurrency,
111
+ });
107
112
  // Create a separate client for each worker (TCP pull is blocking)
108
113
  for (let i = 0; i < this.options.concurrency; i++) {
109
114
  const client = new client_1.FlashQ({ ...this.clientOptions, debug: this.options.debug });
110
115
  await client.connect();
111
116
  this.clients.push(client);
112
- this.log(`Client ${i} connected`);
117
+ this.logger.debug(`Client ${i} connected`);
113
118
  }
114
119
  this.state = 'running';
115
120
  this.emit('ready');
116
- this.log('Worker ready');
121
+ this.logger.info('Worker ready');
117
122
  // Start worker loops (each with its own client)
118
123
  for (let i = 0; i < this.options.concurrency; i++) {
119
124
  this.workers.push(this.batchWorkerLoop(i, this.clients[i]));
@@ -154,7 +159,7 @@ class Worker extends events_1.EventEmitter {
154
159
  }
155
160
  }
156
161
  async doStop(force) {
157
- this.log('Stopping worker', { processing: this.processing, force });
162
+ this.logger.info('Stopping worker', { processing: this.processing, force });
158
163
  if (force) {
159
164
  // Force close - abort immediately
160
165
  this.abortController?.abort();
@@ -170,7 +175,10 @@ class Worker extends events_1.EventEmitter {
170
175
  timeoutPromise,
171
176
  ]);
172
177
  if (result === 'timeout') {
173
- this.log('Graceful shutdown timeout reached', { timeout, processing: this.processing });
178
+ this.logger.warn('Graceful shutdown timeout reached', {
179
+ timeout,
180
+ processing: this.processing,
181
+ });
174
182
  this.emit('error', new Error(`Shutdown timeout after ${timeout}ms with ${this.processing} jobs still processing`));
175
183
  }
176
184
  }
@@ -180,16 +188,16 @@ class Worker extends events_1.EventEmitter {
180
188
  }
181
189
  }
182
190
  this.workers = [];
183
- this.log('All worker loops stopped');
191
+ this.logger.debug('All worker loops stopped');
184
192
  // Close all clients
185
193
  const clientsToClose = [...this.clients];
186
194
  this.clients = [];
187
195
  await Promise.all(clientsToClose.map((c) => c.close()));
188
- this.log('All clients closed');
196
+ this.logger.debug('All clients closed');
189
197
  this.state = 'stopped';
190
198
  this.emit('stopped');
191
199
  this.emit('drained');
192
- this.log('Worker stopped', { totalProcessed: this.jobsProcessed });
200
+ this.logger.info('Worker stopped', { totalProcessed: this.jobsProcessed });
193
201
  }
194
202
  /**
195
203
  * Wait for all currently processing jobs to complete
@@ -207,7 +215,7 @@ class Worker extends events_1.EventEmitter {
207
215
  clearTimeout(timer);
208
216
  resolve(true);
209
217
  }
210
- }, 50);
218
+ }, constants_1.WORKER_JOB_CHECK_INTERVAL);
211
219
  const timer = setTimeout(() => {
212
220
  clearInterval(checkInterval);
213
221
  resolve(false);
@@ -249,8 +257,8 @@ class Worker extends events_1.EventEmitter {
249
257
  if (this.state !== 'running')
250
258
  break;
251
259
  try {
252
- // Batch pull with SHORT timeout (500ms) for responsive shutdown
253
- const jobs = await client.pullBatch(queue, batchSize, 500);
260
+ // Batch pull with SHORT timeout for responsive shutdown
261
+ const jobs = await client.pullBatch(queue, batchSize, constants_1.WORKER_PULL_TIMEOUT);
254
262
  // No jobs available - continue polling
255
263
  if (!jobs || jobs.length === 0) {
256
264
  continue;
@@ -269,12 +277,12 @@ class Worker extends events_1.EventEmitter {
269
277
  // Connection error - wait before retry
270
278
  if (this.state === 'running') {
271
279
  this.emit('error', error);
272
- await this.sleep(1000);
280
+ await this.sleep(constants_1.WORKER_ERROR_RETRY_DELAY);
273
281
  }
274
282
  }
275
283
  }
276
284
  }
277
- this.log(`Worker loop ${workerId} exited`, { state: this.state });
285
+ this.logger.debug(`Worker loop ${workerId} exited`, { state: this.state });
278
286
  }
279
287
  /**
280
288
  * Process a batch of jobs - always completes even during shutdown
@@ -350,16 +358,16 @@ class Worker extends events_1.EventEmitter {
350
358
  async updateProgress(jobId, progress, message) {
351
359
  if (this.state !== 'running') {
352
360
  const error = new Error(`Cannot update progress: worker is ${this.state}`);
353
- this.log('updateProgress failed', { jobId, state: this.state });
361
+ this.logger.warn('updateProgress failed', { jobId, state: this.state });
354
362
  throw error;
355
363
  }
356
364
  if (this.clients.length === 0) {
357
365
  const error = new Error('Cannot update progress: no active clients');
358
- this.log('updateProgress failed', { jobId, reason: 'no clients' });
366
+ this.logger.warn('updateProgress failed', { jobId, reason: 'no clients' });
359
367
  throw error;
360
368
  }
361
369
  await this.clients[0].progress(jobId, progress, message);
362
- this.log('Progress updated', { jobId, progress, message });
370
+ this.logger.debug('Progress updated', { jobId, progress, message });
363
371
  }
364
372
  }
365
373
  exports.Worker = Worker;