@platformatic/job-queue 0.2.0 → 0.3.0

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/README.md CHANGED
@@ -83,6 +83,7 @@ const queue = new Queue<TPayload, TResult>(config)
83
83
  | `blockTimeout` | `number` | `5` | Seconds to wait when polling for jobs |
84
84
  | `visibilityTimeout` | `number` | `30000` | Milliseconds before a processing job is considered stalled |
85
85
  | `resultTTL` | `number` | `3600000` | Milliseconds to cache job results (1 hour) |
86
+ | `logger` | `pino.Logger` | `abstractLogger` | Logger used by queue/producer/consumer |
86
87
  | `afterExecution` | `AfterExecutionHook<TPayload, TResult>` | `undefined` | Hook called after execution and before persisting terminal state |
87
88
  | `payloadSerde` | `Serde<TPayload>` | `JsonSerde` | Custom serializer for job payloads |
88
89
  | `resultSerde` | `Serde<TResult>` | `JsonSerde` | Custom serializer for job results |
@@ -279,7 +280,8 @@ import { RedisStorage } from '@platformatic/job-queue'
279
280
 
280
281
  const storage = new RedisStorage({
281
282
  url: 'redis://localhost:6379',
282
- keyPrefix: 'myapp:' // Optional prefix for all keys
283
+ keyPrefix: 'myapp:', // Optional prefix for all keys
284
+ logger // Optional pino-compatible logger
283
285
  })
284
286
  ```
285
287
 
@@ -1,7 +1,8 @@
1
1
  import { EventEmitter } from 'node:events';
2
- import type { Storage } from './storage/types.ts';
2
+ import type { Logger } from 'pino';
3
3
  import type { Serde } from './serde/index.ts';
4
- import type { JobHandler, AfterExecutionHook } from './types.ts';
4
+ import type { Storage } from './storage/types.ts';
5
+ import type { AfterExecutionHook, JobHandler } from './types.ts';
5
6
  interface ConsumerConfig<TPayload, TResult> {
6
7
  storage: Storage;
7
8
  workerId: string;
@@ -13,6 +14,7 @@ interface ConsumerConfig<TPayload, TResult> {
13
14
  resultTTL?: number;
14
15
  visibilityTimeout?: number;
15
16
  afterExecution?: AfterExecutionHook<TPayload, TResult>;
17
+ logger?: Logger;
16
18
  }
17
19
  interface ConsumerEvents<TResult> {
18
20
  error: [error: Error];
@@ -1 +1 @@
1
- {"version":3,"file":"consumer.d.ts","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAqB,UAAU,EAAE,kBAAkB,EAAyB,MAAM,YAAY,CAAA;AAI1G,UAAU,cAAc,CAAC,QAAQ,EAAE,OAAO;IACxC,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC9B,WAAW,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,cAAc,CAAC,EAAE,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;CACvD;AAED,UAAU,cAAc,CAAC,OAAO;IAC9B,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACrB,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IACxC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;IAClC,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IACpD,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;CACvB;AAQD;;GAEG;AACH,qBAAa,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAE,SAAQ,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;;gBAkBvE,MAAM,EAAE,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC;IActD;;OAEG;IACH,OAAO,CAAE,OAAO,EAAE,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,IAAI;IAItD;;OAEG;IACG,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAwB7B;;OAEG;IACG,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;CA4O7B"}
1
+ {"version":3,"file":"consumer.d.ts","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAElC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,EAAyB,kBAAkB,EAAO,UAAU,EAAgB,MAAM,YAAY,CAAA;AAG1G,UAAU,cAAc,CAAC,QAAQ,EAAE,OAAO;IACxC,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC9B,WAAW,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,cAAc,CAAC,EAAE,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IACtD,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,UAAU,cAAc,CAAC,OAAO;IAC9B,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACrB,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IACxC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;IAClC,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IACpD,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;CACvB;AAQD;;GAEG;AACH,qBAAa,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAE,SAAQ,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;;gBAqBvE,MAAM,EAAE,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC;IAetD;;OAEG;IACH,OAAO,CAAE,OAAO,EAAE,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,IAAI;IAKtD;;OAEG;IACG,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAyC7B;;OAEG;IACG,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;CAiR7B"}
package/dist/consumer.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { EventEmitter } from 'node:events';
2
2
  import { MaxRetriesError } from "./errors.js";
3
3
  import { createJsonSerde } from "./serde/index.js";
4
+ import { abstractLogger, ensureLoggableError } from "./utils/logging.js";
4
5
  const noopAfterExecution = async (_context) => { };
5
6
  /**
6
7
  * Consumer handles processing jobs from the queue
@@ -16,10 +17,13 @@ export class Consumer extends EventEmitter {
16
17
  #resultTTL;
17
18
  #visibilityTimeout;
18
19
  #afterExecution;
20
+ #logger;
19
21
  #handler = null;
20
22
  #running = false;
21
23
  #activeJobs = 0;
22
24
  #abortController = null;
25
+ #workerLoops = [];
26
+ #loopsDone = null;
23
27
  #jobAbortControllers = new Map();
24
28
  constructor(config) {
25
29
  super();
@@ -33,76 +37,101 @@ export class Consumer extends EventEmitter {
33
37
  this.#resultTTL = config.resultTTL ?? 3600000;
34
38
  this.#visibilityTimeout = config.visibilityTimeout ?? 30000;
35
39
  this.#afterExecution = config.afterExecution ?? noopAfterExecution;
40
+ this.#logger = (config.logger ?? abstractLogger).child({ component: 'consumer', workerId: this.#workerId });
36
41
  }
37
42
  /**
38
43
  * Register a job handler
39
44
  */
40
45
  execute(handler) {
41
46
  this.#handler = handler;
47
+ this.#logger.debug('Registered consumer handler.');
42
48
  }
43
49
  /**
44
50
  * Start consuming jobs
45
51
  */
46
52
  async start() {
47
- if (this.#running)
53
+ if (this.#running) {
54
+ this.#logger.trace('Consumer already running.');
48
55
  return;
56
+ }
49
57
  if (!this.#handler) {
50
58
  throw new Error('No handler registered. Call execute() first.');
51
59
  }
60
+ // Ensure any previous worker loops have exited before starting a new run.
61
+ if (this.#loopsDone) {
62
+ await this.#loopsDone;
63
+ this.#workerLoops = [];
64
+ this.#loopsDone = null;
65
+ }
52
66
  this.#running = true;
53
67
  this.#abortController = new AbortController();
68
+ this.#logger.debug({ concurrency: this.#concurrency }, 'Starting consumer.');
54
69
  // Register worker
55
70
  await this.#storage.registerWorker(this.#workerId, this.#visibilityTimeout * 2);
56
71
  // Start worker loops based on concurrency
57
- const loops = [];
72
+ const abortSignal = this.#abortController.signal;
73
+ this.#workerLoops = [];
58
74
  for (let i = 0; i < this.#concurrency; i++) {
59
- loops.push(this.#workerLoop());
75
+ const loopPromise = this.#workerLoop(abortSignal).catch(err => {
76
+ const error = err instanceof Error ? err : new Error(String(err));
77
+ this.#logger.error({ err: ensureLoggableError(error) }, 'Worker loop terminated with error.');
78
+ this.emit('error', error);
79
+ });
80
+ this.#workerLoops.push(loopPromise);
60
81
  }
61
- // Don't await - let them run in background
62
- Promise.all(loops).catch(err => {
63
- this.emit('error', err);
64
- });
82
+ this.#loopsDone = Promise.allSettled(this.#workerLoops).then(() => { });
83
+ this.#logger.debug('Consumer started.');
65
84
  }
66
85
  /**
67
86
  * Stop consuming jobs gracefully
68
87
  */
69
88
  async stop() {
70
- if (!this.#running)
89
+ if (!this.#running) {
90
+ this.#logger.trace('Consumer already stopped.');
71
91
  return;
92
+ }
93
+ this.#logger.debug('Stopping consumer.');
72
94
  this.#running = false;
73
95
  // Signal abort to worker loops
74
- if (this.#abortController) {
75
- this.#abortController.abort();
76
- }
96
+ const abortController = this.#abortController;
97
+ this.#abortController = null;
98
+ abortController?.abort();
77
99
  // Wait for active jobs to complete (with timeout)
78
100
  const maxWait = this.#visibilityTimeout;
79
101
  const startTime = Date.now();
80
102
  while (this.#activeJobs > 0 && Date.now() - startTime < maxWait) {
81
103
  await new Promise(resolve => setTimeout(resolve, 100));
82
104
  }
105
+ if (this.#activeJobs > 0) {
106
+ this.#logger.warn({ activeJobs: this.#activeJobs }, 'Forcing abort of active jobs during stop.');
107
+ }
83
108
  // Abort any remaining jobs
84
109
  for (const [, controller] of this.#jobAbortControllers) {
85
110
  controller.abort();
86
111
  }
87
112
  this.#jobAbortControllers.clear();
113
+ // Worker loops are awaited on the next start() call.
88
114
  // Unregister worker
89
115
  await this.#storage.unregisterWorker(this.#workerId);
116
+ this.#logger.debug('Consumer stopped.');
90
117
  }
91
118
  /**
92
119
  * Worker loop that continuously dequeues and processes jobs
93
120
  */
94
- async #workerLoop() {
95
- while (this.#running) {
121
+ async #workerLoop(abortSignal) {
122
+ while (this.#running && !abortSignal.aborted) {
96
123
  try {
97
124
  const message = await this.#storage.dequeue(this.#workerId, this.#blockTimeout);
98
125
  if (!message) {
99
126
  // Timeout, check if still running
100
127
  continue;
101
128
  }
129
+ this.#logger.trace('Dequeued job message.');
102
130
  // Check if aborted
103
- if (this.#abortController?.signal.aborted) {
131
+ if (abortSignal.aborted) {
104
132
  // Put message back
105
133
  const queueMessage = this.#deserializeMessage(message);
134
+ this.#logger.warn({ id: queueMessage.id }, 'Consumer aborted while holding job, requeueing.');
106
135
  await this.#storage.requeue(queueMessage.id, message, this.#workerId);
107
136
  this.emit('requeued', queueMessage.id);
108
137
  break;
@@ -113,7 +142,9 @@ export class Consumer extends EventEmitter {
113
142
  catch (err) {
114
143
  if (!this.#running)
115
144
  break;
116
- this.emit('error', err);
145
+ const error = err instanceof Error ? err : new Error(String(err));
146
+ this.#logger.error({ err: ensureLoggableError(error) }, 'Worker loop error.');
147
+ this.emit('error', error);
117
148
  // Brief pause before retrying loop
118
149
  await new Promise(resolve => setTimeout(resolve, 1000));
119
150
  }
@@ -126,10 +157,12 @@ export class Consumer extends EventEmitter {
126
157
  const queueMessage = this.#deserializeMessage(message);
127
158
  const { id, payload, attempts, maxAttempts, createdAt } = queueMessage;
128
159
  const resolvedTTL = queueMessage.resultTTL ?? this.#resultTTL;
160
+ this.#logger.trace({ id, attempts, maxAttempts, resolvedTTL }, 'Processing job.');
129
161
  // Check if job was cancelled (deleted from jobs hash)
130
162
  const state = await this.#storage.getJobState(id);
131
163
  if (!state) {
132
164
  // Job was cancelled, just ack it
165
+ this.#logger.debug({ id }, 'Acknowledging cancelled job.');
133
166
  await this.#storage.ack(id, message, this.#workerId);
134
167
  return;
135
168
  }
@@ -146,6 +179,7 @@ export class Consumer extends EventEmitter {
146
179
  const startedAt = Date.now();
147
180
  await this.#storage.setJobState(id, `processing:${startedAt}:${this.#workerId}`);
148
181
  await this.#storage.publishEvent(id, 'processing');
182
+ this.#logger.trace({ id, attempt: currentAttempts }, 'Job marked as processing.');
149
183
  try {
150
184
  const job = {
151
185
  id,
@@ -175,12 +209,14 @@ export class Consumer extends EventEmitter {
175
209
  // Complete the job
176
210
  const serializedResult = this.#resultSerde.serialize(finalResult);
177
211
  await this.#storage.completeJob(id, message, this.#workerId, serializedResult, context.ttl);
212
+ this.#logger.debug({ id, ttl: context.ttl }, 'Job completed and persisted.');
178
213
  this.emit('completed', id, finalResult);
179
214
  }
180
215
  catch (err) {
181
216
  // Clear visibility timer
182
217
  clearTimeout(visibilityTimer);
183
218
  const error = err;
219
+ this.#logger.warn({ id, attempt: currentAttempts, err: ensureLoggableError(error) }, 'Job handler failed.');
184
220
  if (currentAttempts < maxAttempts) {
185
221
  // Retry - update message with incremented attempts
186
222
  const updatedMessage = {
@@ -189,6 +225,7 @@ export class Consumer extends EventEmitter {
189
225
  };
190
226
  const serializedMessage = this.#payloadSerde.serialize(updatedMessage);
191
227
  await this.#storage.retryJob(id, serializedMessage, this.#workerId, currentAttempts);
228
+ this.#logger.warn({ id, attempt: currentAttempts }, 'Job scheduled for retry.');
192
229
  this.emit('failing', id, error, currentAttempts);
193
230
  }
194
231
  else {
@@ -218,12 +255,14 @@ export class Consumer extends EventEmitter {
218
255
  stack: finalError.stack
219
256
  }));
220
257
  await this.#storage.failJob(id, message, this.#workerId, serializedError, context.ttl);
258
+ this.#logger.error({ id, attempts: currentAttempts, ttl: context.ttl, err: ensureLoggableError(maxRetriesError) }, 'Job failed permanently.');
221
259
  this.emit('failed', id, maxRetriesError);
222
260
  }
223
261
  }
224
262
  finally {
225
263
  this.#jobAbortControllers.delete(id);
226
264
  this.#activeJobs--;
265
+ this.#logger.trace({ id, activeJobs: this.#activeJobs }, 'Finished job processing cycle.');
227
266
  }
228
267
  }
229
268
  async #runAfterExecution(context) {
@@ -232,10 +271,13 @@ export class Consumer extends EventEmitter {
232
271
  await this.#afterExecution(context);
233
272
  }
234
273
  catch (err) {
235
- this.emit('error', err);
274
+ const error = err instanceof Error ? err : new Error(String(err));
275
+ this.#logger.error({ id: context.id, err: ensureLoggableError(error) }, 'AfterExecution hook failed, restoring original TTL.');
276
+ this.emit('error', error);
236
277
  context.ttl = originalTTL;
237
278
  }
238
279
  if (!Number.isFinite(context.ttl) || !Number.isInteger(context.ttl) || context.ttl <= 0) {
280
+ this.#logger.warn({ id: context.id, ttl: context.ttl }, 'Invalid TTL from afterExecution, restoring original TTL.');
239
281
  this.emit('error', new TypeError('resultTTL must be a positive integer in milliseconds'));
240
282
  context.ttl = originalTTL;
241
283
  }
@@ -1 +1 @@
1
- {"version":3,"file":"consumer.js","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consumer.js","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { Logger } from 'pino';
1
2
  import type { Serde } from './serde/index.ts';
2
3
  import type { Storage } from './storage/types.ts';
3
4
  import type { CancelResult, EnqueueAndWaitOptions, EnqueueOptions, EnqueueResult, MessageStatus, UpdateResultTTLResult } from './types.ts';
@@ -7,6 +8,7 @@ interface ProducerConfig<TPayload, TResult> {
7
8
  resultSerde?: Serde<TResult>;
8
9
  maxRetries?: number;
9
10
  resultTTL?: number;
11
+ logger?: Logger;
10
12
  }
11
13
  /**
12
14
  * Producer handles enqueueing jobs and retrieving results
@@ -1 +1 @@
1
- {"version":3,"file":"producer.d.ts","sourceRoot":"","sources":["../src/producer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,EACV,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,aAAa,EACb,aAAa,EAGb,qBAAqB,EACtB,MAAM,YAAY,CAAA;AAGnB,UAAU,cAAc,CAAC,QAAQ,EAAE,OAAO;IACxC,OAAO,EAAE,OAAO,CAAA;IAChB,YAAY,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC9B,WAAW,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,qBAAa,QAAQ,CAAC,QAAQ,EAAE,OAAO;;gBAOxB,MAAM,EAAE,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC;IAQtD;;OAEG;IACG,OAAO,CAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAmCxG;;OAEG;IACG,cAAc,CAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC;IAoDvG;;OAEG;IACG,MAAM,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA0BhD;;OAEG;IACG,SAAS,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAQrD;;OAEG;IACG,eAAe,CAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA+BjF;;OAEG;IACG,SAAS,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;CAwCrE"}
1
+ {"version":3,"file":"producer.d.ts","sourceRoot":"","sources":["../src/producer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAElC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,EACV,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,aAAa,EACb,aAAa,EAGb,qBAAqB,EACtB,MAAM,YAAY,CAAA;AAInB,UAAU,cAAc,CAAC,QAAQ,EAAE,OAAO;IACxC,OAAO,EAAE,OAAO,CAAA;IAChB,YAAY,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC9B,WAAW,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,qBAAa,QAAQ,CAAC,QAAQ,EAAE,OAAO;;gBAQxB,MAAM,EAAE,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC;IAStD;;OAEG;IACG,OAAO,CAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAuCxG;;OAEG;IACG,cAAc,CAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC;IA2DvG;;OAEG;IACG,MAAM,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA6BhD;;OAEG;IACG,SAAS,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IASrD;;OAEG;IACG,eAAe,CAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAqCjF;;OAEG;IACG,SAAS,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;CAyCrE"}
package/dist/producer.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { JobFailedError, TimeoutError } from "./errors.js";
2
2
  import { createJsonSerde } from "./serde/index.js";
3
+ import { abstractLogger } from "./utils/logging.js";
3
4
  import { parseState } from "./utils/state.js";
4
5
  /**
5
6
  * Producer handles enqueueing jobs and retrieving results
@@ -10,12 +11,14 @@ export class Producer {
10
11
  #resultSerde;
11
12
  #maxRetries;
12
13
  #resultTTL;
14
+ #logger;
13
15
  constructor(config) {
14
16
  this.#storage = config.storage;
15
17
  this.#payloadSerde = config.payloadSerde ?? createJsonSerde();
16
18
  this.#resultSerde = config.resultSerde ?? createJsonSerde();
17
19
  this.#maxRetries = config.maxRetries ?? 3;
18
20
  this.#resultTTL = config.resultTTL ?? 3600000; // 1 hour
21
+ this.#logger = (config.logger ?? abstractLogger).child({ component: 'producer' });
19
22
  }
20
23
  /**
21
24
  * Enqueue a job (fire-and-forget)
@@ -24,6 +27,7 @@ export class Producer {
24
27
  const timestamp = Date.now();
25
28
  const maxAttempts = options?.maxAttempts ?? this.#maxRetries;
26
29
  const resultTTL = options?.resultTTL ?? this.#resultTTL;
30
+ this.#logger.trace({ id, maxAttempts, resultTTL }, 'Enqueue requested.');
27
31
  this.#validateResultTTL(resultTTL);
28
32
  const message = {
29
33
  id,
@@ -37,14 +41,17 @@ export class Producer {
37
41
  const existingState = await this.#storage.enqueue(id, serialized, timestamp);
38
42
  if (existingState) {
39
43
  const { status } = parseState(existingState);
44
+ this.#logger.debug({ id, status }, 'Duplicate enqueue detected.');
40
45
  if (status === 'completed') {
41
46
  const result = await this.getResult(id);
42
47
  if (result !== null) {
48
+ this.#logger.debug({ id }, 'Returning cached completed result.');
43
49
  return { status: 'completed', result };
44
50
  }
45
51
  }
46
52
  return { status: 'duplicate', existingState: status };
47
53
  }
54
+ this.#logger.debug({ id }, 'Job enqueued.');
48
55
  return { status: 'queued' };
49
56
  }
50
57
  /**
@@ -52,9 +59,11 @@ export class Producer {
52
59
  */
53
60
  async enqueueAndWait(id, payload, options) {
54
61
  const timeout = options?.timeout ?? 30000;
62
+ this.#logger.trace({ id, timeout }, 'EnqueueAndWait requested.');
55
63
  // Subscribe BEFORE enqueue to avoid race conditions
56
64
  const { promise: resultPromise, resolve: resolveResult, reject: rejectResult } = Promise.withResolvers();
57
65
  const unsubscribe = await this.#storage.subscribeToJob(id, async (status) => {
66
+ this.#logger.trace({ id, status }, 'Received job notification.');
58
67
  if (status === 'completed') {
59
68
  const result = await this.getResult(id);
60
69
  if (result !== null) {
@@ -73,20 +82,25 @@ export class Producer {
73
82
  const enqueueResult = await this.enqueue(id, payload, options);
74
83
  // If already completed, return cached result immediately
75
84
  if (enqueueResult.status === 'completed') {
85
+ this.#logger.debug({ id }, 'EnqueueAndWait resolved from cached result.');
76
86
  return enqueueResult.result;
77
87
  }
78
88
  // If duplicate and already failed, throw immediately
79
89
  if (enqueueResult.status === 'duplicate' && enqueueResult.existingState === 'failed') {
80
90
  const error = await this.#storage.getError(id);
81
91
  const errorMessage = error ? error.toString() : 'Job failed';
92
+ this.#logger.warn({ id }, 'EnqueueAndWait found already failed duplicate job.');
82
93
  throw new JobFailedError(id, errorMessage);
83
94
  }
84
95
  // Wait for result with timeout
85
96
  const { promise: timeoutPromise, reject: rejectTimeout } = Promise.withResolvers();
86
97
  timeoutId = setTimeout(() => {
98
+ this.#logger.warn({ id, timeout }, 'EnqueueAndWait timed out.');
87
99
  rejectTimeout(new TimeoutError(id, timeout));
88
100
  }, timeout);
89
- return await Promise.race([resultPromise, timeoutPromise]);
101
+ const result = await Promise.race([resultPromise, timeoutPromise]);
102
+ this.#logger.debug({ id }, 'EnqueueAndWait resolved.');
103
+ return result;
90
104
  }
91
105
  finally {
92
106
  if (timeoutId !== undefined) {
@@ -99,8 +113,10 @@ export class Producer {
99
113
  * Cancel a pending job
100
114
  */
101
115
  async cancel(id) {
116
+ this.#logger.trace({ id }, 'Cancel requested.');
102
117
  const state = await this.#storage.getJobState(id);
103
118
  if (!state) {
119
+ this.#logger.trace({ id }, 'Cancel target not found.');
104
120
  return { status: 'not_found' };
105
121
  }
106
122
  const { status } = parseState(state);
@@ -113,6 +129,7 @@ export class Producer {
113
129
  // Can cancel if queued or failing
114
130
  const deleted = await this.#storage.deleteJob(id);
115
131
  if (deleted) {
132
+ this.#logger.debug({ id }, 'Job cancelled.');
116
133
  return { status: 'cancelled' };
117
134
  }
118
135
  return { status: 'not_found' };
@@ -125,12 +142,14 @@ export class Producer {
125
142
  if (!resultBuffer) {
126
143
  return null;
127
144
  }
145
+ this.#logger.trace({ id }, 'Deserializing job result.');
128
146
  return this.#resultSerde.deserialize(resultBuffer);
129
147
  }
130
148
  /**
131
149
  * Update TTL for a terminal job payload (result for completed jobs, error for failed jobs).
132
150
  */
133
151
  async updateResultTTL(id, ttlMs) {
152
+ this.#logger.trace({ id, ttlMs }, 'UpdateResultTTL requested.');
134
153
  this.#validateResultTTL(ttlMs);
135
154
  const state = await this.#storage.getJobState(id);
136
155
  if (!state) {
@@ -138,21 +157,26 @@ export class Producer {
138
157
  }
139
158
  const { status } = parseState(state);
140
159
  if (status !== 'completed' && status !== 'failed') {
160
+ this.#logger.debug({ id, status }, 'UpdateResultTTL rejected for non-terminal job.');
141
161
  return { status: 'not_terminal' };
142
162
  }
143
163
  if (status === 'completed') {
144
164
  const existingResult = await this.#storage.getResult(id);
145
165
  if (!existingResult) {
166
+ this.#logger.warn({ id }, 'UpdateResultTTL missing completed payload.');
146
167
  return { status: 'missing_payload' };
147
168
  }
148
169
  await this.#storage.setResult(id, existingResult, ttlMs);
170
+ this.#logger.debug({ id, ttlMs }, 'Updated completed payload TTL.');
149
171
  return { status: 'updated' };
150
172
  }
151
173
  const existingError = await this.#storage.getError(id);
152
174
  if (!existingError) {
175
+ this.#logger.warn({ id }, 'UpdateResultTTL missing failed payload.');
153
176
  return { status: 'missing_payload' };
154
177
  }
155
178
  await this.#storage.setError(id, existingError, ttlMs);
179
+ this.#logger.debug({ id, ttlMs }, 'Updated failed payload TTL.');
156
180
  return { status: 'updated' };
157
181
  }
158
182
  /**
@@ -192,6 +216,7 @@ export class Producer {
192
216
  }
193
217
  #validateResultTTL(resultTTL) {
194
218
  if (!Number.isFinite(resultTTL) || !Number.isInteger(resultTTL) || resultTTL <= 0) {
219
+ this.#logger.error({ resultTTL }, 'Invalid resultTTL provided.');
195
220
  throw new TypeError('resultTTL must be a positive integer in milliseconds');
196
221
  }
197
222
  }
@@ -1 +1 @@
1
- {"version":3,"file":"producer.js","sourceRoot":"","sources":["../src/producer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"producer.js","sourceRoot":"","sources":["../src/producer.ts"],"names":[],"mappings":"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"}
package/dist/queue.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from 'node:events';
2
- import type { QueueConfig, EnqueueOptions, EnqueueAndWaitOptions, EnqueueResult, CancelResult, MessageStatus, UpdateResultTTLResult, JobHandler, QueueEvents } from './types.ts';
2
+ import type { CancelResult, EnqueueAndWaitOptions, EnqueueOptions, EnqueueResult, JobHandler, MessageStatus, QueueConfig, QueueEvents, UpdateResultTTLResult } from './types.ts';
3
3
  /**
4
4
  * Queue class combining Producer and Consumer functionality
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI1C,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,UAAU,EACV,WAAW,EAEZ,MAAM,YAAY,CAAA;AAKnB;;GAEG;AACH,qBAAa,KAAK,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAE,SAAQ,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;;gBAiBxE,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC;IAuBnD;;OAEG;IACG,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAc7B;;OAEG;IACG,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAa5B;;OAEG;IACH,OAAO,CAAE,OAAO,EAAE,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,IAAI;IAStD;;OAEG;IACG,OAAO,CAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAQxG;;OAEG;IACG,cAAc,CAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvG;;OAEG;IACG,MAAM,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAQhD;;OAEG;IACG,SAAS,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAIrD;;OAEG;IACG,eAAe,CAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIjF;;OAEG;IACG,SAAS,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;CA8CrE"}
1
+ {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAO1C,OAAO,KAAK,EAEV,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,aAAa,EACb,UAAU,EACV,aAAa,EACb,WAAW,EACX,WAAW,EACX,qBAAqB,EACtB,MAAM,YAAY,CAAA;AAGnB;;GAEG;AACH,qBAAa,KAAK,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAE,SAAQ,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;;gBAkBxE,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC;IAyBnD;;OAEG;IACG,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAmB7B;;OAEG;IACG,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAoB5B;;OAEG;IACH,OAAO,CAAE,OAAO,EAAE,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,IAAI;IAUtD;;OAEG;IACG,OAAO,CAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAUxG;;OAEG;IACG,cAAc,CAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC;IAOvG;;OAEG;IACG,MAAM,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAUhD;;OAEG;IACG,SAAS,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAIrD;;OAEG;IACG,eAAe,CAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAOjF;;OAEG;IACG,SAAS,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;CAgErE"}